Skip to content

BUG: NullReferenceException in QueryTextBox_KeyUp during rapid Dialog Jump input (2.1.3) #4572

Description

@Zubpub

Description

Flow Launcher 2.1.3 threw an unhandled NullReferenceException in MainWindow.QueryTextBox_KeyUp while its query box was receiving rapid keyboard input during a Save As / Dialog Jump workflow.

This happened during a repeated keyboard-only stress test:

  1. Open a native Save As dialog.
  2. Open Flow through Dialog Jump.
  3. Focus QueryTextBox through Windows UI Automation.
  4. Send Ctrl+A, type a folder query, wait about 700 ms, then press Enter.
  5. Repeat across consecutive Save As dialogs.

The exception appeared once during the 15-session run. The external helper did not write directly to Flow's internal state; it focused the query control and sent normal keyboard input. That timing may nevertheless be relevant to reproducing the race.

Expected behavior

The query key-up handler should tolerate the result/query state changing during rapid focus and keyboard transitions.

Actual behavior

Flow displayed an unhandled exception and the stress run stopped progressing.

Environment

  • Flow Launcher: 2.1.3
  • Windows: 10.0.19045.7417
  • Process: x64
  • IntPtr length: 8
  • Python: PythonEmbeddable-v3.11.4\pythonw.exe
  • Node path: empty
  • Time: 2026-07-14 00:56:34 +08:00

Exception

System.NullReferenceException: Object reference not set to an instance of an object.
   at Flow.Launcher.MainWindow.QueryTextBox_KeyUp(Object sender, KeyEventArgs e) in C:\projects\flow-launcher\Flow.Launcher\MainWindow.xaml.cs:line 1422
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawKeyboardActions actions, Int32 scanCode, Boolean isExtendedKey, Boolean isSystemKey, Int32 virtualKey)
   at System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(MSG& msg, Boolean& handled)
   at System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(MSG& msg, ModifierKeys modifiers)
   at System.Windows.Interop.HwndSource.OnPreprocessMessage(Object param)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

The corresponding log file is Flow.Launcher.2026-07-14.log (147,668 bytes).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions