www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - anonclass problem with jface recent changes

reply yidabu <yidabu.spam gmail.com> writes:
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.
ctionPropertyChange () at dwtx\jface\action\ActionContributionItem.d:190
#1 0x008ef45d in  dwtx.jface.action.ActionContributionItem.ActionContributionItem.__anoncla
s260.propertyChange dwtx.jface.action.ActionContributionItem.ActionCo
tributionItem._ctor () at dwtx\jface\action\ActionContributionItem.d:177
#2 0x006d1219 in  dwtx.jface.action.AbstractAction.AbstractActio
.firePropertyChange () at dwtx\jface\action\AbstractAction.d:54
#3 0x006d1264 in  dwtx.jface.action.AbstractAction.AbstractActio
.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/
Sep 11 2008
next sibling parent reply Frank Benoit <keinfarbton googlemail.com> writes:
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.
ctionPropertyChange () at dwtx\jface\action\ActionContributionItem.d:190
 #1 0x008ef45d in  dwtx.jface.action.ActionContributionItem.ActionContributionItem.__anoncla
s260.propertyChange dwtx.jface.action.ActionContributionItem.ActionCo
tributionItem._ctor () at dwtx\jface\action\ActionContributionItem.d:177
 #2 0x006d1219 in  dwtx.jface.action.AbstractAction.AbstractActio
.firePropertyChange () at dwtx\jface\action\AbstractAction.d:54
 #3 0x006d1264 in  dwtx.jface.action.AbstractAction.AbstractActio
.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?
Sep 12 2008
parent reply yidabu <yidabu.nospam gmail.com> writes:
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. ctionPropertyChange () at dwtx\jface\action\ActionContributionItem.d:190 #1 0x008ef271 in dwtx.jface.action.ActionContributionItem.ActionContributionItem.__anoncla s261.propertyChange dwtx.jface.action.ActionContributionItem.ActionCo tributionItem._ctor () at dwtx\jface\action\ActionContributionItem.d:177 #2 0x006d0f39 in dwtx.jface.action.AbstractAction.AbstractActio .firePropertyChange () at dwtx\jface\action\AbstractAction.d:54 #3 0x006d0f84 in dwtx.jface.action.AbstractAction.AbstractActio .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
Sep 12 2008
parent reply Frank Benoit <keinfarbton googlemail.com> writes:
I could reproduce it now, and the fix in JThread seems to solve it for me.
Sep 12 2008
next sibling parent Frank Benoit <keinfarbton googlemail.com> writes:
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/

Sep 12 2008
prev sibling parent Frank Benoit <keinfarbton googlemail.com> writes:
perhaps an update problem?
recompiled dwtx?
dsss -full ?

If not, can you please try the checks i listed in my previous posting?
Sep 12 2008
prev sibling next sibling parent yidabu <yidabu.spam gmail.com> writes:
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/
Sep 12 2008
prev sibling next sibling parent yidabu <yidabu.spam gmail.com> writes:
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/
Sep 12 2008
prev sibling parent yidabu <yidabu.spam gmail.com> writes:
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/
Sep 12 2008