anonclass problem with jface recent changes

yidabu yidabu.nospam at gmail.com
Fri Sep 12 01:55:54 PDT 2008


Frank Benoit Wrote:


> I think i fixed that in dwtx.dwtxhelper.JThread currentThread(). But i
> can't verify this right now. Can you please try again?
> 


I updated dwtx and tried, the result is:

here is my code, some actions get exception when set 
    action.setEnabled(false); 
(works fine with true)
    


    class MyMenuListener : IMenuListener 
    {
        mixin Singleton_simple;

        static void menuAboutToShow_()
        {
            actionA.setEnabled(true); // fine
            actionA.setEnabled(false); // fine
            
            actionB.setEnabled(true); // fine            
            actionB.setEnabled(false); // actions cause exception when set to false        
        }
        void menuAboutToShow(IMenuManager manager)
        {
            menuAboutToShow_();
        }

    }


Unhandled Exception: EXCEPTION_ACCESS_VIOLATION(0xc0000005) at dwtx.jface.action.ActionContributionItem.ActionContributionItem.actionPropertyChange.dwtx.jface.util.PropertyChangeEvent.PropertyChangeEvent dwtx\jface\action\ActionContributionItem.d:190 (0x008ef2c9) thread(2784)
->us
#0  dwtx.jface.action.ActionContributionItem.ActionContributionItem.actionPropertyChange () at dwtx\jface\action\ActionContributionItem.d:190
#1 0x008ef271 in  dwtx.jface.action.ActionContributionItem.ActionContributionItem.__anonclass261.propertyChange dwtx.jface.action.ActionContributionItem.ActionContributionItem._ctor () at dwtx\jface\action\ActionContributionItem.d:177
#2 0x006d0f39 in  dwtx.jface.action.AbstractAction.AbstractAction.firePropertyChange () at dwtx\jface\action\AbstractAction.d:54
#3 0x006d0f84 in  dwtx.jface.action.AbstractAction.AbstractAction.firePropertyChange () at dwtx\jface\action\AbstractAction.d:80
#4 0x00690f57 in  dwtx.jface.action.Action.Action.setEnabled () at dwtx\jface\action\Action.d:605

#7 0x006774c9 in  dwtx.jface.action.MenuManager.MenuManager.fireAboutToShow () at dwtx\jface\action\MenuManager.d:353
#8 0x0067775e in  dwtx.jface.action.MenuManager.MenuManager.handleAboutToShow () at dwtx\jface\action\MenuManager.d:481
#9 0x006777fe in  dwtx.jface.action.MenuManager.MenuManager.initializeMenu () at dwtx\jface\action\MenuManager.d:503
#10 0x004f7876 in  dwt.widgets.TypedListener.TypedListener.handleEvent () at dwt\widgets\TypedListener.d:279
#11 0x004b6006 in  dwt.widgets.EventTable.EventTable.sendEvent () at dwt\widgets\EventTable.d:91
#12 0x00498e9c in  dwt.widgets.Widget.Widget.sendEvent () at dwt\widgets\Widget.d:1037
#13 0x00498f7f in  dwt.widgets.Widget.Widget.sendEvent () at dwt\widgets\Widget.d:1059
#14 0x00498ec5 in  dwt.widgets.Widget.Widget.sendEvent () at dwt\widgets\Widget.d:1041
#15 0x00495bf3 in  dwt.internal.win32.OS.LDWTRESULT dwt.widgets.Control.Control.WM_INITMENUPOPUP () at dwt\widgets\Control.d:4164
#16 0x00494ec5 in  dwt.widgets.Control.Control.windowProc () at dwt\widgets\Control.d:3866
#17 0x0048cba6 in  dwt.widgets.Canvas.Canvas.windowProc () at dwt\widgets\Canvas.d:357
#18 0x00520884 in  dwt.widgets.Decorations.Decorations.windowProc () at dwt\widgets\Decorations.d:1599
#19 0x00477c59 in  dwt.widgets.Shell.Shell.windowProc () at dwt\widgets\Shell.d:1998
#20 0x0042cc52 in  dwt.widgets.Display.Display.windowProc () at dwt\widgets\Display.d:4651
#21 0x0042caa4 in extern  (lParam = 0, wParam = 0x010605a9, msg = 0x00000117, hwnd = 0x00290438) at dwt\widgets\Display.d:4601
#22 0x7e418734 in ?? () at dwt\widgets\Menu.d:266 from USER32.dll
#23 0x7e418816 in ?? () at dwt\widgets\Menu.d:266 from USER32.dll
#24 0x7e41b4c0 in ?? () at dwt\widgets\Menu.d:266 from USER32.dll
#25 0x7e41b50c in ?? () at dwt\widgets\Menu.d:266 from USER32.dll
#26 0x7c90eae3 in ?? () at dwt\widgets\Menu.d:266 from ntdll.dll
#27 0x00508302 in  dwt.widgets.Menu.Menu._setVisible () at dwt\widgets\Menu.d:266
#28 0x0042b0fe in  dwt.widgets.Display.Display.runPopups () at dwt\widgets\Display.d:3956
#29 0x00429ddf in  dwt.widgets.Display.Display.readAndDispatch () at dwt\widgets\Display.d:3521
#30 0x006aed11 in  dwtx.jface.window.Window.Window.runEventLoop () at dwtx\jface\window\Window.d:849
#31 0x006aec93 in  dwtx.jface.window.Window.Window.open () at dwtx\jface\window\Window.d:828
#32 0x0040930a in  wss.Website_Submission_Shareware.MainWindow.run () at Website_Submission_Shareware.d:76
#33 0x004091b6 in _Dmain (_param_0 = {
  [0] = "Website_Submission_Shareware"
}) at Website_Submission_Shareware.d:33
#34 0x00c0f910 in extern (C) int dmain2.main(int, char**) . void runMain(void*) () from dmain2
#35 0x00c0f947 in extern (C) int dmain2.main(int, char**) . void runAll(void*) () from dmain2
#36 0x00c0f688 in _main () from dmain2
#37 0x00cb8c89 in _mainCRTStartup () from constart
#38 0x7c816fd7 in ?? () from KERNEL32.dll
->q



More information about the Digitalmars-d-dwt mailing list