Anomalie #115

Fixer les bugs remontés par les logs

Added by Antoine Blanchet about 6 years ago. Updated about 6 years ago.

Status:FerméStart date:07/11/2011
Priority:UrgentDue date:
Assignee:-% Done:

100%

Category:-Estimated time:5.00 hours
Target version:2.5.1Spent time:5.50 hours

Description

Deux bugs sont remontés via les logs :
1 - Une touche déclenche une exception lorsqu'on envoi la commande de key up alors que la touche n'a pas encore été enfoncée.
2 - Le clavier déclenche une exception lorsqu'on le triture quand il se ferme.

Logs du bug 1 :

Exception
ExceptionType = InvalidOperationException
Message = The Push() method can not be called if the key is already down (IsDown property).
Source = CK.Keyboard
TargetSite = CK.Keyboard.Key, CK.Keyboard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.Push
StackTrace
à CK.Keyboard.Key.Push()
à CK.WPF.ViewModel.VMKey`4.<ResetCommands>b__12()
à CK.WPF.ViewModel.KeyCommand.Execute(Object parameter)
à CK.WPF.StandardViews.StdKeyView.FireCommand(ICommand command)
à CK.WPF.StandardViews.StdKeyView.OnMouseLeftButtonDown(MouseButtonEventArgs e)
à System.Windows.UIElement.OnMouseLeftButtonDownThunk(Object sender, MouseButtonEventArgs e)
à System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
à System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
à System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
à System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)
à System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
à System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
à System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
à System.Windows.Input.InputManager.ProcessStagingArea()
à System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
à System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
à System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
à System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
à System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
à MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
à MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
à System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
à System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)
à System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
à MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
à MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
à System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
à System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
à System.Windows.Threading.Dispatcher.Run()
à System.Windows.Application.RunDispatcher(Object ignore)
à System.Windows.Application.RunInternal(Window window)
à System.Windows.Application.Run(Window window)
à System.Windows.Application.Run()
à Host.App.Main(String[] args)
End of StackTrace
Exception Data
Key = System.Object
Value = (null)
End of Exception Data
End of Exception

Log du bug 2 :
UniqueID = 061a7efa-e382-43bb-8e3c-0c8c7230e491
UtcDate = 2011-07-05 16:59:51Z
Log = LogEventEntryError
Member = IContext.OnExitApplication
Culprit = Host.AppViewModel.OnExitApplication
Exception
ExceptionType = TargetInvocationException
Message = Une exception a été levée par la cible d'un appel.
Source = mscorlib
TargetSite = System.RuntimeMethodHandle, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089._InvokeMethodFast
StackTrace
à System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
à System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
à Caliburn.Micro.Screen.<TryClose>b__f()
à Caliburn.Micro.Execute.<>c__DisplayClass1.&lt;InitializeWithDispatcher&gt;b__0(Action action)
à Caliburn.Micro.Execute.OnUIThread(Action action)
à Caliburn.Micro.Screen.TryClose()
à Host.AppViewModel.OnExitApplication(Object sender, ApplicationExitEventArgs e)
à IContext_Proxy_1._realService_OnExitApplication(Object , ApplicationExitEventArgs )
End of StackTrace
InnerException
Exception
ExceptionType = InvalidOperationException
Message = Impossible de définir Visibility à Visible ou d'appeler Show, ShowDialog ou Close lorsque la fenêtre est en cours de fermeture.
Source = PresentationFramework
TargetSite = System.Windows.Window, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.VerifyNotClosing
StackTrace
à System.Windows.Window.VerifyNotClosing()
à System.Windows.Window.InternalClose(Boolean shutdown, Boolean ignoreCancel)
End of StackTrace
End of Exception
End of InnerException
End of Exception

History

#1 Updated by Antoine Blanchet about 6 years ago

  • Target version set to 2.5.1
  • % Done changed from 0 to 50

Le bug 1 est corrigé.

#2 Updated by Antoine Blanchet about 6 years ago

  • % Done changed from 50 to 70
  • Le clavier visuel ne peut plus se mettre en plein écran.
  • Je n'arrive pas à reproduire le bug n°2 depuis ce fix.

#3 Updated by Antoine Blanchet about 6 years ago

  • % Done changed from 70 to 100

Le problème a été identifié : le processus de fermeture de la fenetre principale engendrait un appel qui finalement ... tentait de fermer la fenetre qui était déjà en train de se fermer.

#4 Updated by Antoine Blanchet about 6 years ago

  • Status changed from Nouveau to Fermé

Also available in: Atom PDF