Thread overview
anonclass problem with jface recent changes
Sep 12, 2008
yidabu
Sep 12, 2008
Frank Benoit
Sep 12, 2008
yidabu
Sep 12, 2008
Frank Benoit
Sep 12, 2008
yidabu
Sep 12, 2008
Frank Benoit
Sep 12, 2008
Frank Benoit
Sep 12, 2008
yidabu
Sep 12, 2008
yidabu
September 12, 2008
anonclass problem with jface recen changes,

I updated dwtx to trunk, some programs works fine, but a program get exception when IMenuListener fired(mousce right click on the TableViewer to show the context menu):


ddbg captured:

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION(0xc0000005) at dwtx.jface.action.ActionContributionItem.ActionContributionItem.actionPropertyChange.dwtx.jface.util.PropertyChangeEvent.PropertyChangeEvent dwtx\jface\action\ActionContributionItem.d:190 (0x008ef4b5) thread(3628)
->us
#0  dwtx.jface.action.ActionContributionItem.ActionContributionItem.actionPropertyChange () at dwtx\jface\action\ActionContributionItem.d:190
#1 0x008ef45d in  dwtx.jface.action.ActionContributionItem.ActionContributionItem.__anonclass260.propertyChange dwtx.jface.action.ActionContributionItem.ActionContributionItem._ctor () at dwtx\jface\action\ActionContributionItem.d:177
#2 0x006d1219 in  dwtx.jface.action.AbstractAction.AbstractAction.firePropertyChange () at dwtx\jface\action\AbstractAction.d:54
#3 0x006d1264 in  dwtx.jface.action.AbstractAction.AbstractAction.firePropertyChange () at dwtx\jface\action\AbstractAction.d:80
#4 0x00691237 in  dwtx.jface.action.Action.Action.setEnabled () at dwtx\jface\action\Action.d:605


-- 
yidabu <yidabu.spam@gmail.com> http://www.dsource.org/projects/dwin

D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/


September 12, 2008
yidabu schrieb:
> anonclass problem with jface recen changes,
> 
> I updated dwtx to trunk, some programs works fine, but a program get exception when IMenuListener fired(mousce right click on the TableViewer to show the context menu):
> 
> 
> ddbg captured:
> 
> Unhandled Exception: EXCEPTION_ACCESS_VIOLATION(0xc0000005) at dwtx.jface.action.ActionContributionItem.ActionContributionItem.actionPropertyChange.dwtx.jface.util.PropertyChangeEvent.PropertyChangeEvent dwtx\jface\action\ActionContributionItem.d:190 (0x008ef4b5) thread(3628)
> ->us
> #0  dwtx.jface.action.ActionContributionItem.ActionContributionItem.actionPropertyChange () at dwtx\jface\action\ActionContributionItem.d:190
> #1 0x008ef45d in  dwtx.jface.action.ActionContributionItem.ActionContributionItem.__anonclass260.propertyChange dwtx.jface.action.ActionContributionItem.ActionContributionItem._ctor () at dwtx\jface\action\ActionContributionItem.d:177
> #2 0x006d1219 in  dwtx.jface.action.AbstractAction.AbstractAction.firePropertyChange () at dwtx\jface\action\AbstractAction.d:54
> #3 0x006d1264 in  dwtx.jface.action.AbstractAction.AbstractAction.firePropertyChange () at dwtx\jface\action\AbstractAction.d:80
> #4 0x00691237 in  dwtx.jface.action.Action.Action.setEnabled () at dwtx\jface\action\Action.d:605
> 
> 

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

September 12, 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

September 12, 2008
I could reproduce it now, and the fix in JThread seems to solve it for me.
September 12, 2008
On Fri, 12 Sep 2008 11:27:38 +0200
Frank Benoit <keinfarbton@googlemail.com> wrote:

> I could reproduce it now, and the fix in JThread seems to solve it for me.


seems not work, I do'nt unstandard that why some actions works fine, but some actions faled when setEnabled(false);



-- 
yidabu <yidabu.spam@gmail.com> http://www.dsource.org/projects/dwin

D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/


September 12, 2008
On Fri, 12 Sep 2008 11:27:38 +0200
Frank Benoit <keinfarbton@googlemail.com> wrote:

> I could reproduce it now, and the fix in JThread seems to solve it for me.

Event get exception with blank Action like this:

public class PageAction : Action
{
    public this()
    {
        super("&Get Page@Ctrl+G", ImageDescriptor.createFromFile(getImportData!("page16.png")));
        setToolTipText("get Page" );
    }

    public void run()
    {
        /*
	 ......
        */
    }
}





-- 
yidabu <yidabu.spam@gmail.com> http://www.dsource.org/projects/dwin

D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/


September 12, 2008
yidabu Wrote:

> On Fri, 12 Sep 2008 11:27:38 +0200
> Frank Benoit <keinfarbton@googlemail.com> wrote:
> 
> > I could reproduce it now, and the fix in JThread seems to solve it for me.
> 
> 
> seems not work, I do'nt unstandard that why some actions works fine, but some actions faled when setEnabled(false);
> 
> 
> 
> -- 
> yidabu <yidabu.spam@gmail.com> http://www.dsource.org/projects/dwin
> 
> D ÓïÑÔ-ÖÐÎÄ(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
> 
> 

September 12, 2008
perhaps an update problem?
recompiled dwtx?
dsss -full ?

If not, can you please try the checks i listed in my previous posting?

September 12, 2008
On Fri, 12 Sep 2008 10:22:28 -0400
Frank Benoit <keinfarbton@googlemail.com> wrote:

> perhaps an update problem?
> recompiled dwtx?
> dsss -full ?
> 
> If not, can you please try the checks i listed in my previous posting?

seems a lib build issue, exception with dwtx-debug.lib by dmd, I re compile dwtx.lib by dsss, it works now, buy I don't know why exception with dwtx-debug.lib by dmd 1.033.



-- 
yidabu <yidabu.spam@gmail.com> http://www.dsource.org/projects/dwin

D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/