Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 106388 - Directory dialog is unusably slow
Summary: Directory dialog is unusably slow
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.1   Edit
Hardware: All All
: P1 blocker (vote)
Target Milestone: 3.2 M1   Edit
Assignee: Tod Creasey CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 85608
Blocks:
  Show dependency tree
 
Reported: 2005-08-08 14:29 EDT by Olivier Thomann CLA
Modified: 2005-09-28 11:02 EDT (History)
5 users (show)

See Also:


Attachments
Rollback patch (7.44 KB, patch)
2005-08-09 09:09 EDT, Tod Creasey CLA
no flags Details | Diff
Patch to "org.eclipse.ui.ide" (797 bytes, patch)
2005-08-09 10:05 EDT, Douglas Pollock CLA
no flags Details | Diff
Patch to "org.eclipse.ui.workbench" (13.31 KB, patch)
2005-08-09 10:05 EDT, Douglas Pollock CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Thomann CLA 2005-08-08 14:29:23 EDT
Trying to browse the file system using a file chooser dialog was not possible.
The file chooser dialog doesn't refresh when I click on the [+].
I am using I20050808-0800 with a patch for bug 106361.
Comment 1 Veronika Irvine CLA 2005-08-08 16:34:19 EDT
Does not happen on Windows XP with the manifest.  However, happens on Windows XP
without the manifest (and might also happen on Windows 2000, 98 and NT).

As part of the fix for Bug 60659, asyncExecs are disabled while the directory
dialog is open.  Bug 60659 is a GP.

It appears that InputMonitor, which was added for 3.2, is relying on the
asyncExecs to be run while the dialog is open and this is not happening.

If I comment out <code>InputMonitor.init()</code> on line 2099 of WorkbenchPage,
the directory dialog performs nicely.

For 3.2 M1, can we disable InputMonitor and then investigate what is going on here?
Comment 2 Douglas Pollock CLA 2005-08-08 20:03:04 EDT
The InputMonitor was added by Stefan last week to implement focus-stealing
prevention.  This was Bug 85608.  We can roll back the entire patch to get us
through 3.2 M1.

Does this only affect DirectoryDialog on Windows XP?
Comment 3 Tod Creasey CLA 2005-08-09 08:42:48 EDT
Veronika thinks this needs to be rolled back but I'll need some context from
Doug and Veronika before I do it.
Comment 4 Tod Creasey CLA 2005-08-09 09:09:17 EDT
Created attachment 25891 [details]
Rollback patch

Here is a rollback patch. I would like Doug to verify this before I commit
though.
Comment 5 Veronika Irvine CLA 2005-08-09 09:44:44 EDT
If you wish to minimize the rollback, I think you can just comment out the 
mouse up and mouse down events from the list of filtered events in 
InputMonitor.

I believe the slow down will appear on all Windows (XP, 2K, NT, etc) except 
for Windows XP with a manifest.
Comment 6 Douglas Pollock CLA 2005-08-09 09:57:59 EDT
The rollback patch doesn't cover all of the stuff from Bug 85608.  I'll make a 
revised rollback patch. 
 
dpollock@node2:/home/eclipse> grep -ri '85608' org.eclipse.ui.ide 
org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java,v:@Bug 
85608: Preference to prevent parts from stealing focus 
dpollock@node2:/home/eclipse> grep -ri '85608' org.eclipse.ui.workbench 
org.eclipse.ui.workbench/Eclipse 
UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java,v:@Bug 85608: 
Preference to prevent parts from stealing focus 
org.eclipse.ui.workbench/Eclipse 
UI/org/eclipse/ui/internal/InputMonitor.java,v:@Bug 85608: Preference to 
prevent parts from stealing focus 
org.eclipse.ui.workbench/Eclipse 
UI/org/eclipse/ui/internal/messages.properties,v:@Bug 85608: Preference to 
prevent parts from stealing focus 
org.eclipse.ui.workbench/Eclipse 
UI/org/eclipse/ui/internal/WorkbenchMessages.java,v:@Bug 85608: Preference to 
prevent parts from stealing focus 
org.eclipse.ui.workbench/Eclipse 
UI/org/eclipse/ui/internal/WorkbenchPage.java,v:@Bug 85608: Preference to 
prevent parts from stealing focus 
org.eclipse.ui.workbench/Eclipse 
UI/org/eclipse/ui/internal/IPreferenceConstants.java,v:@Bug 85608: Preference 
to prevent parts from stealing focus 
 
Comment 7 Douglas Pollock CLA 2005-08-09 10:05:38 EDT
Created attachment 25895 [details]
Patch to "org.eclipse.ui.ide"
Comment 8 Douglas Pollock CLA 2005-08-09 10:05:59 EDT
Created attachment 25896 [details]
Patch to "org.eclipse.ui.workbench"
Comment 9 Douglas Pollock CLA 2005-08-09 10:19:28 EDT
STEPS TO REPRODUCE: 
1.) Open the File > Import/Export... dialog 
2.) Select "File system" and click "Next" 
3.) Click "Browse" 
4.) Try to expand one of the items using a mouse click on the "+" symbol. 
 
A busy cursor will appear, but the tree will never expand.  The dialog can 
still be cancelled, and a timeout will eventually dismiss the busy cursor. 
 
Confirmed that this affects both Windows 2000 and some Windows XP boxes. 
 
Comment 10 Douglas Pollock CLA 2005-08-09 11:40:08 EDT
Patches have been applied to HEAD. 
Comment 11 Douglas Pollock CLA 2005-08-09 11:41:39 EDT
Should have marked as FIXED.... 
Comment 12 Susan McCourt CLA 2005-08-09 12:54:18 EDT
I also observed this on I20050808-2000.
The folders eventually do expand, but it takes a LOOOONG time.
I'm running Win XP Pro Version 2002 Service Pack #1
Comment 13 Tod Creasey CLA 2005-08-10 11:07:08 EDT
Verified by Veronika in 20050810-0100
Comment 14 Carolyn MacLeod CLA 2005-08-16 15:09:06 EDT
Susan and Olivier,

Go get javaw.exe.manifest and copy it into your jre bin directory so you can 
run SWT (therefore eclipse) with the latest version of Windows controls.

http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-
home/javaw.exe.manifest
Comment 15 Tobias Schwarz CLA 2005-09-28 03:22:45 EDT
is this patch also applicable for eclipse 3.1?
Comment 16 Tod Creasey CLA 2005-09-28 08:33:18 EDT
This wasn't an issue in 3.1.
Comment 17 Michael Scharf CLA 2005-09-28 10:50:20 EDT
> This wasn't an issue in 3.1.

Does this mean, this bug is not related to bug 88958?
Comment 18 Tod Creasey CLA 2005-09-28 11:02:53 EDT
Correct - our issue was due to the (now deleted) InputMonitor class.