Skip to content

Check if namejob is already being run before opening new createDirectory dialog

Akseli Lahtinen requested to merge work/akselmo/fix-network-folder-crash into master

This is a fix for a bug where in network views (or otherwise slow systems), pressing Ctrl+Shift+N multiple times opens multiple popup windows and thus causes a crash when any of the popups is interacted with after closing the topmost one. The problem is not the crash with popups themselves, but that we're opening multiple popups in the first place.

In regular views this works fine, since the nameJob does not take long time at all and only one popup opens, immediately blocking the shortcut.

In network views, the nameJob seems to take a while to run, since it's loading info from network. If user spams Ctrl+Shift+N shortcut in frustration, it starts more nameJobs and eventually when those jobs are done, it opens multiple popups.

This code checks that if we're already running a namejob, we're very likely waiting for the createDir popup to appear, so we don't do anything until there is no more nameJob running.

I've tested that it works in both network and regular Dolphin views:

  1. Open a folder
  2. Spam Ctrl+Shift+N
  3. Only one dialog opens

Depends on: frameworks/kio!1596 (merged)

BUG:481401

Edited by Akseli Lahtinen

Merge request reports