stamboman / workspacemechanic

Automatically exported from code.google.com/p/workspacemechanic
0 stars 0 forks source link

One needs to click OK and then Cancel #13

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Change anything, e.g. remove line numbering.
2. Doubleclick on the Icon on the lower right side.
3. The Workspacemechanic-Window is shown. Click OK.

What is the expected output? What do you see instead?

I would expect that the window closes. The changes are applied in the
background but the window is only closed if I click the cancel-Button
afterwards.

What version of the product are you using? On what operating system?

Compiled version 0.1 from the update site on Mac OS X with Spring STS 2.3.2
(Eclipse 3.5.1).

Please provide any additional information below.

Original issue reported on code.google.com by sendorian on 14 May 2010 at 8:56

GoogleCodeExporter commented 8 years ago
Sendorian, thanks for looking in to this. I noticed something similar on OSX 
but I haven't taken too much 
time to review it yet. Tell me, is this reliably reproducible? Do you think 
it's possible two copies of the dialog 
are appearing?

Original comment by konigsb...@gmail.com on 16 May 2010 at 12:25

GoogleCodeExporter commented 8 years ago
Yes, I believe this is a near duplicate of issue 3: 
http://code.google.com/a/eclipselabs.org/p/workspacemechanic/issues/detail?id=3

Original comment by konigsb...@gmail.com on 17 May 2010 at 3:17

GoogleCodeExporter commented 8 years ago
OK more research. This is interesting. It looks like on OSX, clicking inside 
the dialog that displays failed 
tasks, actually gets propagated to the trim widget, resulting in *gasp* another 
dialog box! What a strange 
stack trace:

Daemon Thread [Thread-0] (Suspended (breakpoint at line 210 in 
MechanicService))   
    MechanicService.runRepairManager(RepairDecisionProvider) line: 210  
    MechanicStatusTrimWidget$InvokeRepairManagerAction.invokeRepairManager() line: 363  
    MechanicStatusTrimWidget$InvokeRepairManagerAction.run() line: 353  
    MechanicStatusTrimWidget$2.mouseUp(MouseEvent) line: 193    
    TypedListener.handleEvent(Event) line: 207  
    EventTable.sendEvent(Event) line: 84    
    Display.sendEvent(EventTable, Event) line: 3543 
    Label(Widget).sendEvent(Event) line: 1250   
    Label(Widget).sendEvent(int, Event, boolean) line: 1273 
    Label(Widget).sendEvent(int, Event) line: 1258  
    Label(Control).sendMouseEvent(NSEvent, int, boolean) line: 2918 
    Display.applicationSendTrackingEvent(NSEvent, Control) line: 4210   
    Display.applicationNextEventMatchingMask(int, int, int, int, int, int) line: 4191   
    Display.applicationProc(int, int, int, int, int, int) line: 4386    
    OS.objc_msgSend(int, int, int, int, int, boolean) line: not available [native method]   
    NSApplication.nextEventMatchingMask(int, NSDate, NSString, boolean) line: 75    
    Display.readAndDispatch() line: 3094    
    MechanicDialog(Window).runEventLoop(Shell) line: 825    
    MechanicDialog(Window).open() line: 801 
    UserChoiceDecisionProvider.initialize(List<Task>) line: 44  
    RepairManager.run() line: 60    
    MechanicService.runRepairManager(RepairDecisionProvider) line: 213  
    MechanicStatusTrimWidget$InvokeRepairManagerAction.invokeRepairManager() line: 363  
    MechanicStatusTrimWidget$InvokeRepairManagerAction.run() line: 353  
    MechanicStatusTrimWidget$2.mouseUp(MouseEvent) line: 193    
    TypedListener.handleEvent(Event) line: 207  
    EventTable.sendEvent(Event) line: 84    
    Display.sendEvent(EventTable, Event) line: 3543 
    Label(Widget).sendEvent(Event) line: 1250   
    Label(Widget).sendEvent(int, Event, boolean) line: 1273 
    Label(Widget).sendEvent(int, Event) line: 1258  
    Label(Control).sendMouseEvent(NSEvent, int, boolean) line: 2918 
    Display.applicationSendTrackingEvent(NSEvent, Control) line: 4210   
    Display.applicationNextEventMatchingMask(int, int, int, int, int, int) line: 4191   
    Display.applicationProc(int, int, int, int, int, int) line: 4386    
    OS.objc_msgSendSuper(objc_super, int, int) line: not available [native method]  
    Label(Widget).callSuper(int, int, int) line: 202    
    Label(Widget).mouseDown(int, int, int) line: 920    
    Label(Control).mouseDown(int, int, int) line: 2151  
    Display.windowProc(int, int, int) line: 4653    
    OS.objc_msgSendSuper(objc_super, int, int) line: not available [native method]  
    Shell(Widget).callSuper(int, int, int) line: 202    
    Shell(Widget).windowSendEvent(int, int, int) line: 1753 
    Shell.windowSendEvent(int, int, int) line: 1825 
    Display.windowProc(int, int, int) line: 4713    
    OS.objc_msgSendSuper(objc_super, int, int) line: not available [native method]  
    Display.applicationSendEvent(int, int, int) line: 4285  
    Display.applicationProc(int, int, int) line: 4352   
    OS.objc_msgSend(int, int, int) line: not available [native method]  
    NSApplication.sendEvent(NSEvent) line: 101  
    Display.readAndDispatch() line: 3097    
    Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2405    
    Workbench.runUI() line: 2369    
    Workbench.access$4(Workbench) line: 2221    
    Workbench$5.run() line: 500 
    Realm.runWithDefault(Realm, Runnable) line: 332 
    Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 493    
    PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149   
    IDEApplication.start(IApplicationContext) line: 113 
    EclipseAppHandle.run(Object) line: 194  
    EclipseAppLauncher.runApplication(Object) line: 110 
    EclipseAppLauncher.start(Object) line: 79   
    EclipseStarter.run(Object) line: 368    
    EclipseStarter.run(String[], Runnable) line: 179    
    NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]  
    NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39  
    DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25  
    Method.invoke(Object, Object...) line: 592  
    Main.invokeFramework(String[], URL[]) line: 559 
    Main.basicRun(String[]) line: 514   
    Main.run(String[]) line: 1311   
    Main.main(String[]) line: 1287  

runRepairManager at the bottom is slightly different from the code in the 
repository, disregard that; it's 
my attempt at a fix.

This is very different from issue 3 in that you are talking about what seems to 
be an OSX bug. 
Nonetheless I think the fix I have in place will address both this issue and #3.

Original comment by konigsb...@gmail.com on 17 May 2010 at 3:42

GoogleCodeExporter commented 8 years ago
Thanks for working on this. Yes, it's reliably reproducible and you can click 
as many
times on OK as you want... But I think you already know that now. ;)

Original comment by sendorian on 17 May 2010 at 6:07

GoogleCodeExporter commented 8 years ago

Original comment by konigsb...@gmail.com on 19 May 2010 at 3:21

GoogleCodeExporter commented 8 years ago

Original comment by konigsb...@gmail.com on 11 Mar 2011 at 7:32