Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Platform » WARNING: Prevented recursive attempt to activate part
WARNING: Prevented recursive attempt to activate part [message #314239] Thu, 05 April 2007 13:55 Go to next message
Eclipse UserFriend
Originally posted by: rmarshall.tritechsoft.com

I am getting this error message while running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new editor
is similar to an older editor that is working fine and uses some of the same
code.
The old editor extends MultiPageEditorPart and implements ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called PropertyPane.
When a graphic object is selected in the new editor its properties appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
Re: WARNING: Prevented recursive attempt to activate part [message #314243 is a reply to message #314239] Thu, 05 April 2007 14:13 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: merks.ca.ibm.com

This is a multi-part message in MIME format.
--------------040307050903090507010603
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Ron,

You also asked this same question on the SWT newsgroup. In general, if
you must post to multiple newsgroups, please do so with a single posting
addressed to all the groups so an answer on one group will appear on all
groups (thereby reducing the workload for people answering questions).

Not that I understand the details here, but one potential solution is to
use this type of approach:

getSite().getShell().getDisplay().asyncExec
(new Runnable()
{
public void run()
{
doSomethingALittleLater();
}
});

Ron Marshall wrote:
> I am getting this error message while running an editor I am developing:
> WARNING: Prevented recursive attempt to activate part
> DocumentEditor.SchedulePropertyEditor while still in the middle of
> activating part DocumentEditor.scheduleEditor.
>
> Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
> DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
> The ISelectionProvider implementation is a different class. This new editor
> is similar to an older editor that is working fine and uses some of the same
> code.
> The old editor extends MultiPageEditorPart and implements ISelectionProvider
> in the same class. The old editor also uses a very similar ViewPart
> subclass.
> The old editor has a SWT Swing bridge editor window of graphic objects and a
> SashForm based property view.
> The new editor has a SWT editor window of graphic objects and a SashForm
> property view.
> Both editors use tha same SashForm property view class called PropertyPane.
> When a graphic object is selected in the new editor its properties appear in
> the property view when a property is modified and when another graphic
> object is selected the recursion error occurs in the new editor and not in
> the old editor. The stack trace shows a dispose SWT Text or DropDown
> object being called in the SashForm property view class.
> Also selection events do not always behave consistently. Somethimes the
> properties do not appear when selected and sometimes the property
> modification is lost.
> The only related difference I can see between the two editors is that the
> ISelectionProvider is in a separate class from the EditorPart in the new
> editor.
> I noted in the Eclipse bug list that seven recent bug reports are related to
> this kind of error message, but for different components.
>
> Does any one have any other ideas?
> Should I report this as a bug?
>
> This is the stack trace.
>
> java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate
> part DocumentEditor.SchedulePropertyEditor while still in the middle of
> activating part DocumentEditor.scheduleEditor
> at
> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
> at
> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
> at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
> at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
> at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
> at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
> at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
> at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
> at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
> at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
> at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
> at
> com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
> //dispose occurred here
> at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
> at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
> at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
> at
> com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
> at
> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
> at
> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
> at
> org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
> at
> org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
> at
> org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
> at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
> at
> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
> at
> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
> at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
> at org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
> at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
> at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
> at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
> at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
> at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
> at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
> at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
> at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
> at
> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
> at org.eclipse.core.launcher.Main.run(Main.java:977)
> at org.eclipse.core.launcher.Main.main(Main.java:952)
>
>
>
>


--------------040307050903090507010603
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ron,<br>
<br>
You also asked this same question on the SWT newsgroup.&nbsp; In
general, if you must post to multiple newsgroups, please do so with a
single posting addressed to all the groups so an answer on one group
will appear on all groups (thereby reducing the workload for people
answering questions).&nbsp; <br>
<br>
Not that I understand the details here, but one potential solution is
to use this type of approach:<br>
<br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getSite().getShell().getDisplay().asyncExec<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new Runnable()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; public void run()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; doSomethingALittleLater();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br>
<br>
</small>Ron Marshall wrote:
<blockquote cite="midev2v8c$aul$1@build.eclipse.org" type="cite">
<pre wrap="">I am getting this error message while running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new editor
is similar to an older editor that is working fine and uses some of the same
code.
The old editor extends MultiPageEditorPart and implements ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called PropertyPane.
When a graphic object is selected in the new editor its properties appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



</pre>
</blockquote>
<br>
</body>
</html>

--------------040307050903090507010603--
Re: WARNING: Prevented recursive attempt to activate part [message #314277 is a reply to message #314243] Thu, 05 April 2007 21:41 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: rmarshall.tritechsoft.com

This is a multi-part message in MIME format.

------=_NextPart_000_0009_01C777A1.3C4085D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

This is my first posting so I am still getting used to the system. I =
originally posted to the SWT group because the web page did not offer a =
link to the platform group. I then realized I should have posted to the =
platform group. Later I realized the original title was not good so I =
reposted the message with a better title to both groups. =20

As for the asyncExec
suggestion the code is already in a syncExec runnable.
Thanks for the advice.
"Ed Merks" <merks@ca.ibm.com> wrote in message =
news:ev306f$dak$2@build.eclipse.org...
Ron,

You also asked this same question on the SWT newsgroup. In general, =
if you must post to multiple newsgroups, please do so with a single =
posting addressed to all the groups so an answer on one group will =
appear on all groups (thereby reducing the workload for people answering =
questions). =20

Not that I understand the details here, but one potential solution is =
to use this type of approach:

getSite().getShell().getDisplay().asyncExec
(new Runnable()
{
public void run()
{
doSomethingALittleLater();
}
});

Ron Marshall wrote:=20
I am getting this error message while running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new =
editor
is similar to an older editor that is working fine and uses some of the =
same
code.
The old editor extends MultiPageEditorPart and implements =
ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects =
and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called =
PropertyPane.
When a graphic object is selected in the new editor its properties =
appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not =
in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that =
the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are =
related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to =
activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:31=
57)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.j=
ava:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at =
org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPan=
e.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.showCellProps(SchedulePropertyEditorViewP art.java:140)=

at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.selectionChanged(SchedulePropertyEditorVi ewPart.java:8=
8)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(Abstra=
ctSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSe=
lectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(Workb=
enchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:32=
07)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at =
org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:42=
2)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at =
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivat=
or.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplicati=
on(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(Eclips=
eAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:4=
00)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:1=
77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



=20

------=_NextPart_000_0009_01C777A1.3C4085D0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type =
content=3Dtext/html;charset=3DISO-8859-1>
<META content=3D"MSHTML 6.00.5730.11" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY text=3D#000000 bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>This is my first posting so I am still =
getting used=20
to the system.&nbsp; I originally posted&nbsp;to the SWT group because =
the web=20
page did not offer a link to the platform group.&nbsp; I then realized I =
should=20
have posted to the platform group.&nbsp; Later I realized the original =
title was=20
not good so I reposted the message with a better title to both =
groups.&nbsp;=20
</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>As for&nbsp;the <FONT=20
face=3D"Times New Roman">asyncExec</FONT><BR>suggestion the code is =
already in a=20
syncExec runnable.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Thanks for the advice.</FONT></DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ed Merks" &lt;<A =
href=3D"mailto:merks@ca.ibm.com">merks@ca.ibm.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:ev306f$dak$2@build.eclipse.org">news:ev306f$dak$2@build.ecli=
pse.org</A>...</DIV>Ron,<BR><BR>You=20
also asked this same question on the SWT newsgroup.&nbsp; In general, =
if you=20
must post to multiple newsgroups, please do so with a single posting =
addressed=20
to all the groups so an answer on one group will appear on all groups =
(thereby=20
reducing the workload for people answering questions).&nbsp; =
<BR><BR>Not that=20
I understand the details here, but one potential solution is to use =
this type=20
of=20
=
approach:<BR><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;=20
=
getSite().getShell().getDisplay().asyncExec<BR>&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n b=
sp;=20
(new=20
=
Runnable()<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;=20
public void=20
=
run()<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=
doSomethingALittleLater();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;=20
=
}<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;=20
});<BR><BR></SMALL>Ron Marshall wrote:=20
<BLOCKQUOTE cite=3Dmidev2v8c$aul$1@build.eclipse.org =
type=3D"cite"><PRE wrap=3D"">I am getting this error message while =
running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new =
editor
is similar to an older editor that is working fine and uses some of the =
same
code.
The old editor extends MultiPageEditorPart and implements =
ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects =
and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called =
PropertyPane.
When a graphic object is selected in the new editor its properties =
appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not =
in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that =
the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are =
related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to =
activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:31=
57)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.j=
ava:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at =
org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPan=
e.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.showCellProps(SchedulePropertyEditorViewP art.java:140)=

at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.selectionChanged(SchedulePropertyEditorVi ewPart.java:8=
8)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(Abstra=
ctSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSe=
lectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(Workb=
enchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:32=
07)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at =
org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:42=
2)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at =
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivat=
or.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplicati=
on(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(Eclips=
eAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:4=
00)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:1=
77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



</PRE></BLOCKQUOTE><BR></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0009_01C777A1.3C4085D0--
Re: WARNING: Prevented recursive attempt to activate part [message #314294 is a reply to message #314277] Fri, 06 April 2007 10:57 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: merks.ca.ibm.com

This is a multi-part message in MIME format.
--------------030808020800000800090105
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Ron,

No big deal. I just give people what is hopefully a friendly reminder. :-)

I will again qualify what I say as a stab in the dark, but synchExec
blocks the caller whereas asynchExec allows the caller to complete, so
using the later might allow you to break whatever cycle is occurring.


Ron Marshall wrote:
> This is my first posting so I am still getting used to the system. I
> originally posted to the SWT group because the web page did not offer
> a link to the platform group. I then realized I should have posted to
> the platform group. Later I realized the original title was not good
> so I reposted the message with a better title to both groups.
>
> As for the asyncExec
> suggestion the code is already in a syncExec runnable.
> Thanks for the advice.
>
> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote in
> message news:ev306f$dak$2@build.eclipse.org...
> Ron,
>
> You also asked this same question on the SWT newsgroup. In
> general, if you must post to multiple newsgroups, please do so
> with a single posting addressed to all the groups so an answer on
> one group will appear on all groups (thereby reducing the workload
> for people answering questions).
>
> Not that I understand the details here, but one potential solution
> is to use this type of approach:
>
> getSite().getShell().getDisplay().asyncExec
> (new Runnable()
> {
> public void run()
> {
> doSomethingALittleLater();
> }
> });
>
> Ron Marshall wrote:
>> I am getting this error message while running an editor I am developing:
>> WARNING: Prevented recursive attempt to activate part
>> DocumentEditor.SchedulePropertyEditor while still in the middle of
>> activating part DocumentEditor.scheduleEditor.
>>
>> Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
>> DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
>> The ISelectionProvider implementation is a different class. This new editor
>> is similar to an older editor that is working fine and uses some of the same
>> code.
>> The old editor extends MultiPageEditorPart and implements ISelectionProvider
>> in the same class. The old editor also uses a very similar ViewPart
>> subclass.
>> The old editor has a SWT Swing bridge editor window of graphic objects and a
>> SashForm based property view.
>> The new editor has a SWT editor window of graphic objects and a SashForm
>> property view.
>> Both editors use tha same SashForm property view class called PropertyPane.
>> When a graphic object is selected in the new editor its properties appear in
>> the property view when a property is modified and when another graphic
>> object is selected the recursion error occurs in the new editor and not in
>> the old editor. The stack trace shows a dispose SWT Text or DropDown
>> object being called in the SashForm property view class.
>> Also selection events do not always behave consistently. Somethimes the
>> properties do not appear when selected and sometimes the property
>> modification is lost.
>> The only related difference I can see between the two editors is that the
>> ISelectionProvider is in a separate class from the EditorPart in the new
>> editor.
>> I noted in the Eclipse bug list that seven recent bug reports are related to
>> this kind of error message, but for different components.
>>
>> Does any one have any other ideas?
>> Should I report this as a bug?
>>
>> This is the stack trace.
>>
>> java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate
>> part DocumentEditor.SchedulePropertyEditor while still in the middle of
>> activating part DocumentEditor.scheduleEditor
>> at
>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>> at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>> at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>> at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>> at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
>> at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
>> at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
>> at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
>> at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
>> at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
>> at
>> com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
>> //dispose occurred here
>> at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
>> at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
>> at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
>> at
>> com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
>> at
>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
>> at
>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
>> at
>> org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
>> at
>> org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
>> at
>> org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
>> at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>> at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>> at org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
>> at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>> at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>> at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
>> at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
>> at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
>> at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>> at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
>> at
>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
>> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
>> at org.eclipse.core.launcher.Main.run(Main.java:977)
>> at org.eclipse.core.launcher.Main.main(Main.java:952)
>>
>>
>>
>>
>


--------------030808020800000800090105
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ron,<br>
<br>
No big deal.&nbsp; I just give people what is hopefully a friendly reminder.
:-)<br>
<br>
I will again qualify what I say as a stab in the dark, but synchExec
blocks the caller whereas asynchExec allows the caller to complete, so
using the later might allow you to break whatever cycle is occurring.<br>
<br>
<br>
Ron Marshall wrote:
<blockquote cite="midev3qgu$v0t$1@build.eclipse.org" type="cite">
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<meta content="MSHTML 6.00.5730.11" name="GENERATOR">
<style></style>
<div><font face="Arial" size="2">This is my first posting so I am
still getting used to the system.&nbsp; I originally posted&nbsp;to the SWT group
because the web page did not offer a link to the platform group.&nbsp; I
then realized I should have posted to the platform group.&nbsp; Later I
realized the original title was not good so I reposted the message with
a better title to both groups.&nbsp; </font></div>
<div>&nbsp;</div>
<div><font face="Arial" size="2">As for&nbsp;the <font
face="Times New Roman">asyncExec</font><br>
suggestion the code is already in a syncExec runnable.</font></div>
<div><font face="Arial" size="2">Thanks for the advice.</font></div>
<blockquote
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div>"Ed Merks" &lt;<a href="mailto:merks@ca.ibm.com">merks@ca.ibm.com</a>&gt;
wrote in message <a href="news:ev306f$dak$2@build.eclipse.org">news:ev306f$dak$2@build.eclipse.org</a>...</div>
Ron,<br>
<br>
You also asked this same question on the SWT newsgroup.&nbsp; In general, if
you must post to multiple newsgroups, please do so with a single
posting addressed to all the groups so an answer on one group will
appear on all groups (thereby reducing the workload for people
answering questions).&nbsp; <br>
<br>
Not that I understand the details here, but one potential solution is
to use this type of approach:<br>
<br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getSite().getShell().getDisplay().asyncExec<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new Runnable()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; public void run()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; doSomethingALittleLater();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br>
<br>
</small>Ron Marshall wrote:
<blockquote cite="midev2v8c$aul$1@build.eclipse.org" type="cite">
<pre wrap="">I am getting this error message while running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new editor
is similar to an older editor that is working fine and uses some of the same
code.
The old editor extends MultiPageEditorPart and implements ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called PropertyPane.
When a graphic object is selected in the new editor its properties appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



</pre>
</blockquote>
<br>
</blockquote>
</blockquote>
<br>
</body>
</html>

--------------030808020800000800090105--
Re: WARNING: Prevented recursive attempt to activate part [message #314349 is a reply to message #314294] Mon, 09 April 2007 21:59 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: rmarshall.tritechsoft.com

This is a multi-part message in MIME format.

------=_NextPart_000_006D_01C77AC8.6BD15FC0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Ed, thanks for the idea. I tried the asyncExec while making the run =
methods synchronized and the recursion exception went away. However the =
property view "get" methods are not working when properties are =
modified.=20
I tried merging the ISelectionProvider class with the EditorPart class. =
Those functions being in separate classes was the only noticable =
difference between the old editor and the new editor. Merging the =
classes did not make any difference.

Ron

"Ed Merks" <merks@ca.ibm.com> wrote in message =
news:ev593b$lvn$1@build.eclipse.org...
Ron,

No big deal. I just give people what is hopefully a friendly =
reminder. :-)

I will again qualify what I say as a stab in the dark, but synchExec =
blocks the caller whereas asynchExec allows the caller to complete, so =
using the later might allow you to break whatever cycle is occurring.


Ron Marshall wrote:=20
This is my first posting so I am still getting used to the system. =
I originally posted to the SWT group because the web page did not offer =
a link to the platform group. I then realized I should have posted to =
the platform group. Later I realized the original title was not good so =
I reposted the message with a better title to both groups. =20

As for the asyncExec
suggestion the code is already in a syncExec runnable.
Thanks for the advice.
"Ed Merks" <merks@ca.ibm.com> wrote in message =
news:ev306f$dak$2@build.eclipse.org...
Ron,

You also asked this same question on the SWT newsgroup. In =
general, if you must post to multiple newsgroups, please do so with a =
single posting addressed to all the groups so an answer on one group =
will appear on all groups (thereby reducing the workload for people =
answering questions). =20

Not that I understand the details here, but one potential solution =
is to use this type of approach:

getSite().getShell().getDisplay().asyncExec
(new Runnable()
{
public void run()
{
doSomethingALittleLater();
}
});

Ron Marshall wrote:=20
I am getting this error message while running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new =
editor
is similar to an older editor that is working fine and uses some of the =
same
code.
The old editor extends MultiPageEditorPart and implements =
ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects =
and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called =
PropertyPane.
When a graphic object is selected in the new editor its properties =
appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not =
in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that =
the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are =
related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to =
activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:31=
57)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.j=
ava:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at =
org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPan=
e.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.showCellProps(SchedulePropertyEditorViewP art.java:140)=

at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.selectionChanged(SchedulePropertyEditorVi ewPart.java:8=
8)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(Abstra=
ctSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSe=
lectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(Workb=
enchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:32=
07)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at =
org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:42=
2)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at =
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivat=
or.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplicati=
on(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(Eclips=
eAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:4=
00)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:1=
77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



=20



------=_NextPart_000_006D_01C77AC8.6BD15FC0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type =
content=3Dtext/html;charset=3DISO-8859-1>
<META content=3D"MSHTML 6.00.5730.11" name=3DGENERATOR></HEAD>
<BODY text=3D#000000 bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Ed, thanks for the idea.&nbsp; I tried =
the=20
asyncExec while making the run methods synchronized and the recursion =
exception=20
went away.&nbsp; However the property view "get" methods are not working =
when=20
properties are modified. </FONT></DIV>
<DIV><FONT face=3DArial size=3D2>I tried merging the ISelectionProvider =
class with=20
the EditorPart class.&nbsp; Those functions being in separate classes =
was the=20
only noticable difference between the old editor and the new =
editor.&nbsp;=20
Merging the classes did not make any difference.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Ron</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ed Merks" &lt;<A =
href=3D"mailto:merks@ca.ibm.com">merks@ca.ibm.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:ev593b$lvn$1@build.eclipse.org">news:ev593b$lvn$1@build.ecli=
pse.org</A>...</DIV>Ron,<BR><BR>No=20
big deal.&nbsp; I just give people what is hopefully a friendly =
reminder.=20
:-)<BR><BR>I will again qualify what I say as a stab in the dark, but=20
synchExec blocks the caller whereas asynchExec allows the caller to =
complete,=20
so using the later might allow you to break whatever cycle is=20
occurring.<BR><BR><BR>Ron Marshall wrote:=20
<BLOCKQUOTE cite=3Dmidev3qgu$v0t$1@build.eclipse.org type=3D"cite">
<META content=3D"MSHTML 6.00.5730.11" name=3DGENERATOR>
<STYLE></STYLE>

<DIV><FONT face=3DArial size=3D2>This is my first posting so I am =
still getting=20
used to the system.&nbsp; I originally posted&nbsp;to the SWT group =
because=20
the web page did not offer a link to the platform group.&nbsp; I =
then=20
realized I should have posted to the platform group.&nbsp; Later I =
realized=20
the original title was not good so I reposted the message with a =
better=20
title to both groups.&nbsp; </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>As for&nbsp;the <FONT=20
face=3D"Times New Roman">asyncExec</FONT><BR>suggestion the code is =
already in=20
a syncExec runnable.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Thanks for the advice.</FONT></DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: rgb(0,0,0) 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ed Merks" &lt;<A=20
href=3D"mailto:merks@ca.ibm.com">merks@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:ev306f$dak$2@build.eclipse.org">news:ev306f$dak$2@build.ecli=
pse.org</A>...</DIV>Ron,<BR><BR>You=20
also asked this same question on the SWT newsgroup.&nbsp; In =
general, if=20
you must post to multiple newsgroups, please do so with a single =
posting=20
addressed to all the groups so an answer on one group will appear =
on all=20
groups (thereby reducing the workload for people answering=20
questions).&nbsp; <BR><BR>Not that I understand the details here, =
but one=20
potential solution is to use this type of=20
=
approach:<BR><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;=20
=
getSite().getShell().getDisplay().asyncExec<BR>&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n b=
sp;=20
(new=20
=
Runnable()<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;=20
public void=20
=
run()<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=
doSomethingALittleLater();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;=20
=
}<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;=20
});<BR><BR></SMALL>Ron Marshall wrote:=20
<BLOCKQUOTE cite=3Dmidev2v8c$aul$1@build.eclipse.org =
type=3D"cite"><PRE wrap=3D"">I am getting this error message while =
running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new =
editor
is similar to an older editor that is working fine and uses some of the =
same
code.
The old editor extends MultiPageEditorPart and implements =
ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects =
and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called =
PropertyPane.
When a graphic object is selected in the new editor its properties =
appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not =
in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that =
the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are =
related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to =
activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:31=
57)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.j=
ava:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at =
org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPan=
e.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.showCellProps(SchedulePropertyEditorViewP art.java:140)=

at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.selectionChanged(SchedulePropertyEditorVi ewPart.java:8=
8)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(Abstra=
ctSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSe=
lectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(Workb=
enchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:32=
07)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at =
org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:42=
2)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at =
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivat=
or.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplicati=
on(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(Eclips=
eAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:4=
00)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:1=
77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



=
</PRE></BLOCKQUOTE><BR></BLOCKQUOTE></BLOCKQUOTE><BR></BLOCKQUOTE ></BODY>=
</HTML>

------=_NextPart_000_006D_01C77AC8.6BD15FC0--
Re: WARNING: Prevented recursive attempt to activate part [message #314369 is a reply to message #314349] Tue, 10 April 2007 13:31 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: merks.ca.ibm.com

This is a multi-part message in MIME format.
--------------030807020107080601020804
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Ron,

Unfortunately I don't know enough about how your application is
structured to offer detailed advice on this. :-(

I know that in the generated EMF editors we call
PropertySheetPage.refresh whenever a command is executed (i.e., whenever
the model state changes):

commandStack.addCommandStackListener
(new CommandStackListener()
{
public void commandStackChanged(final EventObject event)
{
getContainer().getDisplay().asyncExec
(new Runnable()
{
public void run()
{
firePropertyChange(IEditorPart.PROP_DIRTY);

// Try to select the affected objects.
//
Command mostRecentCommand =
((CommandStack)event.getSource()).getMostRecentCommand();
if (mostRecentCommand != null)
{

setSelectionToViewer(mostRecentCommand.getAffectedObjects()) ;
}
if (propertySheetPage != null &&
!propertySheetPage.getControl().isDisposed())
{
*propertySheetPage.refresh();*
}
}
});
}
});


Ron Marshall wrote:
> Ed, thanks for the idea. I tried the asyncExec while making the run
> methods synchronized and the recursion exception went away. However
> the property view "get" methods are not working when properties are
> modified.
> I tried merging the ISelectionProvider class with the EditorPart
> class. Those functions being in separate classes was the only
> noticable difference between the old editor and the new editor.
> Merging the classes did not make any difference.
>
> Ron
>
>
> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote in
> message news:ev593b$lvn$1@build.eclipse.org...
> Ron,
>
> No big deal. I just give people what is hopefully a friendly
> reminder. :-)
>
> I will again qualify what I say as a stab in the dark, but
> synchExec blocks the caller whereas asynchExec allows the caller
> to complete, so using the later might allow you to break whatever
> cycle is occurring.
>
>
> Ron Marshall wrote:
>> This is my first posting so I am still getting used to the
>> system. I originally posted to the SWT group because the web
>> page did not offer a link to the platform group. I then realized
>> I should have posted to the platform group. Later I realized the
>> original title was not good so I reposted the message with a
>> better title to both groups.
>>
>> As for the asyncExec
>> suggestion the code is already in a syncExec runnable.
>> Thanks for the advice.
>>
>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote
>> in message news:ev306f$dak$2@build.eclipse.org...
>> Ron,
>>
>> You also asked this same question on the SWT newsgroup. In
>> general, if you must post to multiple newsgroups, please do
>> so with a single posting addressed to all the groups so an
>> answer on one group will appear on all groups (thereby
>> reducing the workload for people answering questions).
>>
>> Not that I understand the details here, but one potential
>> solution is to use this type of approach:
>>
>> getSite().getShell().getDisplay().asyncExec
>> (new Runnable()
>> {
>> public void run()
>> {
>> doSomethingALittleLater();
>> }
>> });
>>
>> Ron Marshall wrote:
>>> I am getting this error message while running an editor I am developing:
>>> WARNING: Prevented recursive attempt to activate part
>>> DocumentEditor.SchedulePropertyEditor while still in the middle of
>>> activating part DocumentEditor.scheduleEditor.
>>>
>>> Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
>>> DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
>>> The ISelectionProvider implementation is a different class. This new editor
>>> is similar to an older editor that is working fine and uses some of the same
>>> code.
>>> The old editor extends MultiPageEditorPart and implements ISelectionProvider
>>> in the same class. The old editor also uses a very similar ViewPart
>>> subclass.
>>> The old editor has a SWT Swing bridge editor window of graphic objects and a
>>> SashForm based property view.
>>> The new editor has a SWT editor window of graphic objects and a SashForm
>>> property view.
>>> Both editors use tha same SashForm property view class called PropertyPane.
>>> When a graphic object is selected in the new editor its properties appear in
>>> the property view when a property is modified and when another graphic
>>> object is selected the recursion error occurs in the new editor and not in
>>> the old editor. The stack trace shows a dispose SWT Text or DropDown
>>> object being called in the SashForm property view class.
>>> Also selection events do not always behave consistently. Somethimes the
>>> properties do not appear when selected and sometimes the property
>>> modification is lost.
>>> The only related difference I can see between the two editors is that the
>>> ISelectionProvider is in a separate class from the EditorPart in the new
>>> editor.
>>> I noted in the Eclipse bug list that seven recent bug reports are related to
>>> this kind of error message, but for different components.
>>>
>>> Does any one have any other ideas?
>>> Should I report this as a bug?
>>>
>>> This is the stack trace.
>>>
>>> java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate
>>> part DocumentEditor.SchedulePropertyEditor while still in the middle of
>>> activating part DocumentEditor.scheduleEditor
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>>> at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>>> at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>>> at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>>> at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
>>> at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
>>> at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
>>> at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
>>> at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
>>> at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
>>> at
>>> com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
>>> //dispose occurred here
>>> at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
>>> at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
>>> at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
>>> at
>>> com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
>>> at
>>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
>>> at
>>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
>>> at
>>> org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
>>> at
>>> org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
>>> at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>>> at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>>> at org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
>>> at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>>> at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>>> at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
>>> at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
>>> at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
>>> at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>> at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
>>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
>>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
>>> at
>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
>>> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
>>> at org.eclipse.core.launcher.Main.run(Main.java:977)
>>> at org.eclipse.core.launcher.Main.main(Main.java:952)
>>>
>>>
>>>
>>>
>>
>


--------------030807020107080601020804
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ron,<br>
<br>
Unfortunately I don't know enough about how your application is
structured to offer detailed advice on this.&nbsp; :-(<br>
<br>
I know that in the generated EMF editors we call
PropertySheetPage.refresh whenever a command is executed (i.e.,
whenever the model state changes):<br>
<blockquote><small>&nbsp;&nbsp;&nbsp; commandStack.addCommandStackListener</small><br>
<small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new CommandStackListener()</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; public void commandStackChanged(final EventObject
event)</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; {</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; getContainer().getDisplay().asyncExec</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new Runnable()</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; {</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public void run()</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; firePropertyChange(IEditorPart.PROP_DIRTY);</small><br>
<br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Try to select the affected objects.</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Command mostRecentCommand =
((CommandStack)event.getSource()).getMostRecentCommand();</small ><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (mostRecentCommand != null)</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
setSelectionToViewer(mostRecentCommand.getAffectedObjects()) ; </small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (propertySheetPage != null &amp;&amp;
!propertySheetPage.getControl().isDisposed())</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <b>propertySheetPage.refresh();</b></small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; });</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }</small><br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });</small><br>
</blockquote>
<br>
Ron Marshall wrote:
<blockquote cite="mideved2p$ej5$1@build.eclipse.org" type="cite">
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<meta content="MSHTML 6.00.5730.11" name="GENERATOR">
<div><font face="Arial" size="2">Ed, thanks for the idea.&nbsp; I tried
the asyncExec while making the run methods synchronized and the
recursion exception went away.&nbsp; However the property view "get" methods
are not working when properties are modified. </font></div>
<div><font face="Arial" size="2">I tried merging the
ISelectionProvider class with the EditorPart class.&nbsp; Those functions
being in separate classes was the only noticable difference between the
old editor and the new editor.&nbsp; Merging the classes did not make any
difference.</font></div>
<div>&nbsp;</div>
<div><font face="Arial" size="2">Ron</font></div>
<div>&nbsp;</div>
<blockquote
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div>"Ed Merks" &lt;<a href="mailto:merks@ca.ibm.com">merks@ca.ibm.com</a>&gt;
wrote in message <a href="news:ev593b$lvn$1@build.eclipse.org">news:ev593b$lvn$1@build.eclipse.org</a>...</div>
Ron,<br>
<br>
No big deal.&nbsp; I just give people what is hopefully a friendly reminder.
:-)<br>
<br>
I will again qualify what I say as a stab in the dark, but synchExec
blocks the caller whereas asynchExec allows the caller to complete, so
using the later might allow you to break whatever cycle is occurring.<br>
<br>
<br>
Ron Marshall wrote:
<blockquote cite="midev3qgu$v0t$1@build.eclipse.org" type="cite">
<meta content="MSHTML 6.00.5730.11" name="GENERATOR">
<style></style>
<div><font face="Arial" size="2">This is my first posting so I am
still getting used to the system.&nbsp; I originally posted&nbsp;to the SWT group
because the web page did not offer a link to the platform group.&nbsp; I
then realized I should have posted to the platform group.&nbsp; Later I
realized the original title was not good so I reposted the message with
a better title to both groups.&nbsp; </font></div>
<div>&nbsp;</div>
<div><font face="Arial" size="2">As for&nbsp;the <font
face="Times New Roman">asyncExec</font><br>
suggestion the code is already in a syncExec runnable.</font></div>
<div><font face="Arial" size="2">Thanks for the advice.</font></div>
<blockquote
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div>"Ed Merks" &lt;<a href="mailto:merks@ca.ibm.com">merks@ca.ibm.com</a>&gt;
wrote in message <a href="news:ev306f$dak$2@build.eclipse.org">news:ev306f$dak$2@build.eclipse.org</a>...</div>
Ron,<br>
<br>
You also asked this same question on the SWT newsgroup.&nbsp; In general, if
you must post to multiple newsgroups, please do so with a single
posting addressed to all the groups so an answer on one group will
appear on all groups (thereby reducing the workload for people
answering questions).&nbsp; <br>
<br>
Not that I understand the details here, but one potential solution is
to use this type of approach:<br>
<br>
<small> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
getSite().getShell().getDisplay().asyncExec<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new Runnable()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; public void run()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; doSomethingALittleLater();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br>
<br>
</small>Ron Marshall wrote:
<blockquote cite="midev2v8c$aul$1@build.eclipse.org" type="cite">
<pre wrap="">I am getting this error message while running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new editor
is similar to an older editor that is working fine and uses some of the same
code.
The old editor extends MultiPageEditorPart and implements ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called PropertyPane.
When a graphic object is selected in the new editor its properties appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



</pre>
</blockquote>
<br>
</blockquote>
</blockquote>
<br>
</blockquote>
</blockquote>
<br>
</body>
</html>

--------------030807020107080601020804--
Re: WARNING: Prevented recursive attempt to activate part [message #314385 is a reply to message #314369] Tue, 10 April 2007 21:39 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: rmarshall.tritechsoft.com

This is a multi-part message in MIME format.

------=_NextPart_000_0009_01C77B8E.D8C32A70
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thanks again, Ed.

It is kind of hard to provide meaningful details. The ProperyPane is =
custom property editor derived from a SashForm. The same class is used =
in the old and new editors. It works in the old editor, but not in the =
new one. I am going to do a detailed comparison of the event reponse of =
both editors. When I finish I will post my findings.

Ron

"Ed Merks" <merks@ca.ibm.com> wrote in message =
news:evg3jk$ulj$1@build.eclipse.org...
Ron,

Unfortunately I don't know enough about how your application is =
structured to offer detailed advice on this. :-(

I know that in the generated EMF editors we call =
PropertySheetPage.refresh whenever a command is executed (i.e., whenever =
the model state changes):

commandStack.addCommandStackListener
(new CommandStackListener()
{
public void commandStackChanged(final EventObject event)
{
getContainer().getDisplay().asyncExec
(new Runnable()
{
public void run()
{
firePropertyChange(IEditorPart.PROP_DIRTY);

// Try to select the affected objects.
//
Command mostRecentCommand =3D =
((CommandStack)event.getSource()).getMostRecentCommand();
if (mostRecentCommand !=3D null)
{
=
setSelectionToViewer(mostRecentCommand.getAffectedObjects()) ;
}
if (propertySheetPage !=3D null && =
!propertySheetPage.getControl().isDisposed())
{
propertySheetPage.refresh();
}
}
});
}
});


Ron Marshall wrote:=20
Ed, thanks for the idea. I tried the asyncExec while making the run =
methods synchronized and the recursion exception went away. However the =
property view "get" methods are not working when properties are =
modified.=20
I tried merging the ISelectionProvider class with the EditorPart =
class. Those functions being in separate classes was the only noticable =
difference between the old editor and the new editor. Merging the =
classes did not make any difference.

Ron

"Ed Merks" <merks@ca.ibm.com> wrote in message =
news:ev593b$lvn$1@build.eclipse.org...
Ron,

No big deal. I just give people what is hopefully a friendly =
reminder. :-)

I will again qualify what I say as a stab in the dark, but =
synchExec blocks the caller whereas asynchExec allows the caller to =
complete, so using the later might allow you to break whatever cycle is =
occurring.


Ron Marshall wrote:=20
This is my first posting so I am still getting used to the =
system. I originally posted to the SWT group because the web page did =
not offer a link to the platform group. I then realized I should have =
posted to the platform group. Later I realized the original title was =
not good so I reposted the message with a better title to both groups. =20

As for the asyncExec
suggestion the code is already in a syncExec runnable.
Thanks for the advice.
"Ed Merks" <merks@ca.ibm.com> wrote in message =
news:ev306f$dak$2@build.eclipse.org...
Ron,

You also asked this same question on the SWT newsgroup. In =
general, if you must post to multiple newsgroups, please do so with a =
single posting addressed to all the groups so an answer on one group =
will appear on all groups (thereby reducing the workload for people =
answering questions). =20

Not that I understand the details here, but one potential =
solution is to use this type of approach:

getSite().getShell().getDisplay().asyncExec
(new Runnable()
{
public void run()
{
doSomethingALittleLater();
}
});

Ron Marshall wrote:=20
I am getting this error message while running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new =
editor
is similar to an older editor that is working fine and uses some of the =
same
code.
The old editor extends MultiPageEditorPart and implements =
ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects =
and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called =
PropertyPane.
When a graphic object is selected in the new editor its properties =
appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not =
in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that =
the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are =
related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to =
activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:31=
57)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.j=
ava:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at =
org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPan=
e.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.showCellProps(SchedulePropertyEditorViewP art.java:140)=

at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.selectionChanged(SchedulePropertyEditorVi ewPart.java:8=
8)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(Abstra=
ctSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSe=
lectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(Workb=
enchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:32=
07)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at =
org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:42=
2)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at =
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivat=
or.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplicati=
on(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(Eclips=
eAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:4=
00)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:1=
77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



=20





------=_NextPart_000_0009_01C77B8E.D8C32A70
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type =
content=3Dtext/html;charset=3DISO-8859-1>
<META content=3D"MSHTML 6.00.5730.11" name=3DGENERATOR></HEAD>
<BODY text=3D#000000 bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Thanks again, &nbsp;Ed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>It is kind of hard to provide =
meaningful=20
details.&nbsp; The ProperyPane is custom property editor derived from a=20
SashForm. The same class is used in the old and new editors.&nbsp; It =
works in=20
the old editor, but not in the new one. I am going to do a detailed =
comparison=20
of the event reponse of both editors.&nbsp; When I finish I will post my =

findings.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Ron</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ed Merks" &lt;<A =
href=3D"mailto:merks@ca.ibm.com">merks@ca.ibm.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:evg3jk$ulj$1@build.eclipse.org">news:evg3jk$ulj$1@build.ecli=
pse.org</A>...</DIV>Ron,<BR><BR>Unfortunately=20
I don't know enough about how your application is structured to offer =
detailed=20
advice on this.&nbsp; :-(<BR><BR>I know that in the generated EMF =
editors we=20
call PropertySheetPage.refresh whenever a command is executed (i.e., =
whenever=20
the model state changes):<BR>
<BLOCKQUOTE><SMALL>&nbsp;&nbsp;&nbsp;=20
=
commandStack.addCommandStackListener</SMALL><BR><SMALL>&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;=20
(new=20
=
CommandStackListener()</SMALL><BR><SMALL>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
{</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; =
public=20
void commandStackChanged(final EventObject=20
=
event)</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;=
=20
=
{</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;&nbsp;=20
=
getContainer().getDisplay().asyncExec</SMALL><BR><SMALL>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;=20
(new=20
=
Runnable()</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=
{</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
public void=20
=
run()</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;=20
=
{</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;=20
=
firePropertyChange(IEditorPart.PROP_DIRTY);</SMALL><BR><BR ><SMALL>&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;&nbsp;&nbsp;&nbsp;=20
// Try to select the affected=20
=
objects.</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;=20
=
//</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;=20
Command mostRecentCommand =3D=20
=
((CommandStack)event.getSource()).getMostRecentCommand();</SMALL ><BR><SMA=
LL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
if (mostRecentCommand !=3D=20
=
null)</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;=20
=
{</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;&nbsp;=20
=
setSelectionToViewer(mostRecentCommand.getAffectedObjects()) ; </SMALL><BR>=
<SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =20
=
}</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;=20
if (propertySheetPage !=3D null &amp;&amp;=20
=
!propertySheetPage.getControl().isDisposed())</SMALL><BR><SMALL >&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb s=
p;&nbsp;&nbsp;&nbsp;=20
=
{</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;&nbsp;=20
=
<B>propertySheetPage.refresh();</B></SMALL><BR><SMALL>&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;&nbsp;=20
=
}</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
=
}</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;=20
=
});</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;=20
}</SMALL><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =20
});</SMALL><BR></BLOCKQUOTE><BR>Ron Marshall wrote:=20
<BLOCKQUOTE cite=3Dmideved2p$ej5$1@build.eclipse.org type=3D"cite">
<META content=3D"MSHTML 6.00.5730.11" name=3DGENERATOR>
<DIV><FONT face=3DArial size=3D2>Ed, thanks for the idea.&nbsp; I =
tried the=20
asyncExec while making the run methods synchronized and the =
recursion=20
exception went away.&nbsp; However the property view "get" methods =
are not=20
working when properties are modified. </FONT></DIV>
<DIV><FONT face=3DArial size=3D2>I tried merging the =
ISelectionProvider class=20
with the EditorPart class.&nbsp; Those functions being in separate =
classes=20
was the only noticable difference between the old editor and the new =

editor.&nbsp; Merging the classes did not make any =
difference.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Ron</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: rgb(0,0,0) 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ed Merks" &lt;<A=20
href=3D"mailto:merks@ca.ibm.com">merks@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:ev593b$lvn$1@build.eclipse.org">news:ev593b$lvn$1@build.ecli=
pse.org</A>...</DIV>Ron,<BR><BR>No=20
big deal.&nbsp; I just give people what is hopefully a friendly =
reminder.=20
:-)<BR><BR>I will again qualify what I say as a stab in the dark, =
but=20
synchExec blocks the caller whereas asynchExec allows the caller =
to=20
complete, so using the later might allow you to break whatever =
cycle is=20
occurring.<BR><BR><BR>Ron Marshall wrote:=20
<BLOCKQUOTE cite=3Dmidev3qgu$v0t$1@build.eclipse.org =
type=3D"cite">
<META content=3D"MSHTML 6.00.5730.11" name=3DGENERATOR>
<STYLE></STYLE>

<DIV><FONT face=3DArial size=3D2>This is my first posting so I =
am still=20
getting used to the system.&nbsp; I originally posted&nbsp;to =
the SWT=20
group because the web page did not offer a link to the platform=20
group.&nbsp; I then realized I should have posted to the =
platform=20
group.&nbsp; Later I realized the original title was not good so =
I=20
reposted the message with a better title to both groups.&nbsp;=20
</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>As for&nbsp;the <FONT=20
face=3D"Times New Roman">asyncExec</FONT><BR>suggestion the code =
is=20
already in a syncExec runnable.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Thanks for the =
advice.</FONT></DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: rgb(0,0,0) 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ed Merks" &lt;<A=20
href=3D"mailto:merks@ca.ibm.com">merks@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ev306f$dak$2@build.eclipse.org">news:ev306f$dak$2@build.ecli=
pse.org</A>...</DIV>Ron,<BR><BR>You=20
also asked this same question on the SWT newsgroup.&nbsp; In =
general,=20
if you must post to multiple newsgroups, please do so with a =
single=20
posting addressed to all the groups so an answer on one group =
will=20
appear on all groups (thereby reducing the workload for people =

answering questions).&nbsp; <BR><BR>Not that I understand the =
details=20
here, but one potential solution is to use this type of=20
=
approach:<BR><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;=20
=
getSite().getShell().getDisplay().asyncExec<BR>&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n b=
sp;=20
(new=20
=
Runnable()<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;=20
public void=20
=
run()<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=
doSomethingALittleLater();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;=20
=
}<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;=20
});<BR><BR></SMALL>Ron Marshall wrote:=20
<BLOCKQUOTE cite=3Dmidev2v8c$aul$1@build.eclipse.org =
type=3D"cite"><PRE wrap=3D"">I am getting this error message while =
running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new =
editor
is similar to an older editor that is working fine and uses some of the =
same
code.
The old editor extends MultiPageEditorPart and implements =
ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects =
and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called =
PropertyPane.
When a graphic object is selected in the new editor its properties =
appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not =
in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that =
the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are =
related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to =
activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:31=
57)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.j=
ava:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at =
org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPan=
e.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.showCellProps(SchedulePropertyEditorViewP art.java:140)=

at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.selectionChanged(SchedulePropertyEditorVi ewPart.java:8=
8)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(Abstra=
ctSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSe=
lectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(Workb=
enchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:32=
07)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at =
org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:42=
2)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at =
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivat=
or.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplicati=
on(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(Eclips=
eAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:4=
00)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:1=
77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



=
</PRE></BLOCKQUOTE><BR></BLOCKQUOTE></BLOCKQUOTE><BR></BLOCKQUOTE ></BLOCK=
QUOTE><BR></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0009_01C77B8E.D8C32A70--
Re: WARNING: Prevented recursive attempt to activate part [message #314428 is a reply to message #314385] Thu, 12 April 2007 10:18 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: alexandre.magillem.com

Hi, I've got the same Warning :
java.lang.RuntimeException: WARNING: Prevented recursive attempt to
activate part org.eclipse.ui.views.ContentOutline while still in the
middle of activating part com.mds.editor.editor

when I open an editor from my GEF editor by the command
IEditorPart editor = IDE.openEditor(page,editorInput,EDITOR_ID,true);
and when I come back to the first editor.

I've tried to open it with a asyncExec but it does not make any change.

Maybe it's the way I open the editor which is wrong.

Regards.
Christophe

Ron Marshall a écrit :
> Thanks again, Ed.
>
> It is kind of hard to provide meaningful details. The ProperyPane is
> custom property editor derived from a SashForm. The same class is used
> in the old and new editors. It works in the old editor, but not in the
> new one. I am going to do a detailed comparison of the event reponse of
> both editors. When I finish I will post my findings.
>
> Ron
>
>
> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote in
> message news:evg3jk$ulj$1@build.eclipse.org...
> Ron,
>
> Unfortunately I don't know enough about how your application is
> structured to offer detailed advice on this. :-(
>
> I know that in the generated EMF editors we call
> PropertySheetPage.refresh whenever a command is executed (i.e.,
> whenever the model state changes):
>
> commandStack.addCommandStackListener
> (new CommandStackListener()
> {
> public void commandStackChanged(final EventObject event)
> {
> getContainer().getDisplay().asyncExec
> (new Runnable()
> {
> public void run()
> {
> firePropertyChange(IEditorPart.PROP_DIRTY);
>
> // Try to select the affected objects.
> //
> Command mostRecentCommand =
> ((CommandStack)event.getSource()).getMostRecentCommand();
> if (mostRecentCommand != null)
> {
>
> setSelectionToViewer(mostRecentCommand.getAffectedObjects()) ;
> }
> if (propertySheetPage != null &&
> !propertySheetPage.getControl().isDisposed())
> {
> *propertySheetPage.refresh();*
> }
> }
> });
> }
> });
>
>
> Ron Marshall wrote:
>> Ed, thanks for the idea. I tried the asyncExec while making the
>> run methods synchronized and the recursion exception went away.
>> However the property view "get" methods are not working when
>> properties are modified.
>> I tried merging the ISelectionProvider class with the EditorPart
>> class. Those functions being in separate classes was the only
>> noticable difference between the old editor and the new editor.
>> Merging the classes did not make any difference.
>>
>> Ron
>>
>>
>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote
>> in message news:ev593b$lvn$1@build.eclipse.org...
>> Ron,
>>
>> No big deal. I just give people what is hopefully a friendly
>> reminder. :-)
>>
>> I will again qualify what I say as a stab in the dark, but
>> synchExec blocks the caller whereas asynchExec allows the
>> caller to complete, so using the later might allow you to
>> break whatever cycle is occurring.
>>
>>
>> Ron Marshall wrote:
>>> This is my first posting so I am still getting used to the
>>> system. I originally posted to the SWT group because the web
>>> page did not offer a link to the platform group. I then
>>> realized I should have posted to the platform group. Later I
>>> realized the original title was not good so I reposted the
>>> message with a better title to both groups.
>>>
>>> As for the asyncExec
>>> suggestion the code is already in a syncExec runnable.
>>> Thanks for the advice.
>>>
>>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>>
>>> wrote in message news:ev306f$dak$2@build.eclipse.org...
>>> Ron,
>>>
>>> You also asked this same question on the SWT newsgroup.
>>> In general, if you must post to multiple newsgroups,
>>> please do so with a single posting addressed to all the
>>> groups so an answer on one group will appear on all
>>> groups (thereby reducing the workload for people
>>> answering questions).
>>>
>>> Not that I understand the details here, but one potential
>>> solution is to use this type of approach:
>>>
>>> getSite().getShell().getDisplay().asyncExec
>>> (new Runnable()
>>> {
>>> public void run()
>>> {
>>> doSomethingALittleLater();
>>> }
>>> });
>>>
>>> Ron Marshall wrote:
>>>> I am getting this error message while running an editor I am developing:
>>>> WARNING: Prevented recursive attempt to activate part
>>>> DocumentEditor.SchedulePropertyEditor while still in the middle of
>>>> activating part DocumentEditor.scheduleEditor.
>>>>
>>>> Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
>>>> DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
>>>> The ISelectionProvider implementation is a different class. This new editor
>>>> is similar to an older editor that is working fine and uses some of the same
>>>> code.
>>>> The old editor extends MultiPageEditorPart and implements ISelectionProvider
>>>> in the same class. The old editor also uses a very similar ViewPart
>>>> subclass.
>>>> The old editor has a SWT Swing bridge editor window of graphic objects and a
>>>> SashForm based property view.
>>>> The new editor has a SWT editor window of graphic objects and a SashForm
>>>> property view.
>>>> Both editors use tha same SashForm property view class called PropertyPane.
>>>> When a graphic object is selected in the new editor its properties appear in
>>>> the property view when a property is modified and when another graphic
>>>> object is selected the recursion error occurs in the new editor and not in
>>>> the old editor. The stack trace shows a dispose SWT Text or DropDown
>>>> object being called in the SashForm property view class.
>>>> Also selection events do not always behave consistently. Somethimes the
>>>> properties do not appear when selected and sometimes the property
>>>> modification is lost.
>>>> The only related difference I can see between the two editors is that the
>>>> ISelectionProvider is in a separate class from the EditorPart in the new
>>>> editor.
>>>> I noted in the Eclipse bug list that seven recent bug reports are related to
>>>> this kind of error message, but for different components.
>>>>
>>>> Does any one have any other ideas?
>>>> Should I report this as a bug?
>>>>
>>>> This is the stack trace.
>>>>
>>>> java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate
>>>> part DocumentEditor.SchedulePropertyEditor while still in the middle of
>>>> activating part DocumentEditor.scheduleEditor
>>>> at
>>>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
>>>> at
>>>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>>>> at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>>>> at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>>>> at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>>>> at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
>>>> at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
>>>> at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
>>>> at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
>>>> at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
>>>> at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
>>>> at
>>>> com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
>>>> //dispose occurred here
>>>> at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
>>>> at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
>>>> at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
>>>> at
>>>> com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
>>>> at
>>>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
>>>> at
>>>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
>>>> at
>>>> org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
>>>> at
>>>> org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
>>>> at
>>>> org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
>>>> at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
>>>> at
>>>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
>>>> at
>>>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>>>> at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>>>> at org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
>>>> at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>>>> at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>>>> at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
>>>> at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
>>>> at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>> at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
>>>> at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>> at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
>>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
>>>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
>>>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
>>>> at
>>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
>>>> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
>>>> at org.eclipse.core.launcher.Main.run(Main.java:977)
>>>> at org.eclipse.core.launcher.Main.main(Main.java:952)
>>>>
>>>>
>>>>
>>>>
>>>
>>
>
Re: WARNING: Prevented recursive attempt to activate part [message #314469 is a reply to message #314428] Fri, 13 April 2007 14:08 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: bokowski.ca.ibm.com

These kinds of errors can be caused by explicitly opening another view or
editor while a part is being activated, or (harder to understand) changes
that happen to the widget that currently has focus.

"Christophe Alexandre" <alexandre@magillem.com> wrote in message
news:evl129$n2t$1@build.eclipse.org...
> Hi, I've got the same Warning :
> java.lang.RuntimeException: WARNING: Prevented recursive attempt to
> activate part org.eclipse.ui.views.ContentOutline while still in the
> middle of activating part com.mds.editor.editor
>
> when I open an editor from my GEF editor by the command
> IEditorPart editor = IDE.openEditor(page,editorInput,EDITOR_ID,true);
> and when I come back to the first editor.
>
> I've tried to open it with a asyncExec but it does not make any change.
>
> Maybe it's the way I open the editor which is wrong.
>
> Regards.
> Christophe
>
> Ron Marshall a
Re: WARNING: Prevented recursive attempt to activate part [message #314478 is a reply to message #314469] Fri, 13 April 2007 17:24 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: alexandre.magillem.com

Does it mean that when I open an editor from my GEF editor with :
IEditorPart editor = IDE.openEditor(page,editorInput,EDITOR_ID,true);
I have to do something on the GEF editor, like deactivating it ?

Boris Bokowski a écrit :
> These kinds of errors can be caused by explicitly opening another view or
> editor while a part is being activated, or (harder to understand) changes
> that happen to the widget that currently has focus.
>
> "Christophe Alexandre" <alexandre@magillem.com> wrote in message
> news:evl129$n2t$1@build.eclipse.org...
>> Hi, I've got the same Warning :
>> java.lang.RuntimeException: WARNING: Prevented recursive attempt to
>> activate part org.eclipse.ui.views.ContentOutline while still in the
>> middle of activating part com.mds.editor.editor
>>
>> when I open an editor from my GEF editor by the command
>> IEditorPart editor = IDE.openEditor(page,editorInput,EDITOR_ID,true);
>> and when I come back to the first editor.
>>
>> I've tried to open it with a asyncExec but it does not make any change.
>>
>> Maybe it's the way I open the editor which is wrong.
>>
>> Regards.
>> Christophe
>>
>> Ron Marshall a écrit :
>>> Thanks again, Ed.
>>> It is kind of hard to provide meaningful details. The ProperyPane is
>>> custom property editor derived from a SashForm. The same class is used in
>>> the old and new editors. It works in the old editor, but not in the new
>>> one. I am going to do a detailed comparison of the event reponse of both
>>> editors. When I finish I will post my findings.
>>> Ron
>>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote in
>>> message news:evg3jk$ulj$1@build.eclipse.org...
>>> Ron,
>>>
>>> Unfortunately I don't know enough about how your application is
>>> structured to offer detailed advice on this. :-(
>>>
>>> I know that in the generated EMF editors we call
>>> PropertySheetPage.refresh whenever a command is executed (i.e.,
>>> whenever the model state changes):
>>>
>>> commandStack.addCommandStackListener
>>> (new CommandStackListener()
>>> {
>>> public void commandStackChanged(final EventObject event)
>>> {
>>> getContainer().getDisplay().asyncExec
>>> (new Runnable()
>>> {
>>> public void run()
>>> {
>>> firePropertyChange(IEditorPart.PROP_DIRTY);
>>>
>>> // Try to select the affected objects.
>>> //
>>> Command mostRecentCommand =
>>> ((CommandStack)event.getSource()).getMostRecentCommand();
>>> if (mostRecentCommand != null)
>>> {
>>>
>>> setSelectionToViewer(mostRecentCommand.getAffectedObjects()) ;
>>> }
>>> if (propertySheetPage != null &&
>>> !propertySheetPage.getControl().isDisposed())
>>> {
>>> *propertySheetPage.refresh();*
>>> }
>>> }
>>> });
>>> }
>>> });
>>>
>>>
>>> Ron Marshall wrote:
>>>> Ed, thanks for the idea. I tried the asyncExec while making the
>>>> run methods synchronized and the recursion exception went away.
>>>> However the property view "get" methods are not working when
>>>> properties are modified.
>>>> I tried merging the ISelectionProvider class with the EditorPart
>>>> class. Those functions being in separate classes was the only
>>>> noticable difference between the old editor and the new editor.
>>>> Merging the classes did not make any difference.
>>>> Ron
>>>>
>>>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote
>>>> in message news:ev593b$lvn$1@build.eclipse.org...
>>>> Ron,
>>>>
>>>> No big deal. I just give people what is hopefully a friendly
>>>> reminder. :-)
>>>>
>>>> I will again qualify what I say as a stab in the dark, but
>>>> synchExec blocks the caller whereas asynchExec allows the
>>>> caller to complete, so using the later might allow you to
>>>> break whatever cycle is occurring.
>>>>
>>>>
>>>> Ron Marshall wrote:
>>>>> This is my first posting so I am still getting used to the
>>>>> system. I originally posted to the SWT group because the web
>>>>> page did not offer a link to the platform group. I then
>>>>> realized I should have posted to the platform group. Later I
>>>>> realized the original title was not good so I reposted the
>>>>> message with a better title to both groups. As for the
>>>>> asyncExec
>>>>> suggestion the code is already in a syncExec runnable.
>>>>> Thanks for the advice.
>>>>>
>>>>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>>
>>>>> wrote in message news:ev306f$dak$2@build.eclipse.org...
>>>>> Ron,
>>>>>
>>>>> You also asked this same question on the SWT newsgroup. In
>>>>> general, if you must post to multiple newsgroups,
>>>>> please do so with a single posting addressed to all the
>>>>> groups so an answer on one group will appear on all
>>>>> groups (thereby reducing the workload for people
>>>>> answering questions).
>>>>> Not that I understand the details here, but one potential
>>>>> solution is to use this type of approach:
>>>>>
>>>>> getSite().getShell().getDisplay().asyncExec
>>>>> (new Runnable()
>>>>> {
>>>>> public void run()
>>>>> {
>>>>> doSomethingALittleLater();
>>>>> }
>>>>> });
>>>>>
>>>>> Ron Marshall wrote:
>>>>>> I am getting this error message while running an editor I
>>>>>> am developing:
>>>>>> WARNING: Prevented recursive attempt to activate part
>>>>>> DocumentEditor.SchedulePropertyEditor while still in the
>>>>>> middle of
>>>>>> activating part DocumentEditor.scheduleEditor.
>>>>>>
>>>>>> Note DocumentEditor.SchedulePropertyEditor is a subclass
>>>>>> of ViewPart and
>>>>>> DocumentEditor.scheduleEditor is a subclass of the related
>>>>>> EditorPart.
>>>>>> The ISelectionProvider implementation is a different
>>>>>> class. This new editor
>>>>>> is similar to an older editor that is working fine and
>>>>>> uses some of the same
>>>>>> code.
>>>>>> The old editor extends MultiPageEditorPart and implements
>>>>>> ISelectionProvider
>>>>>> in the same class. The old editor also uses a very
>>>>>> similar ViewPart
>>>>>> subclass.
>>>>>> The old editor has a SWT Swing bridge editor window of
>>>>>> graphic objects and a
>>>>>> SashForm based property view.
>>>>>> The new editor has a SWT editor window of graphic objects
>>>>>> and a SashForm
>>>>>> property view.
>>>>>> Both editors use tha same SashForm property view class
>>>>>> called PropertyPane.
>>>>>> When a graphic object is selected in the new editor its
>>>>>> properties appear in
>>>>>> the property view when a property is modified and when
>>>>>> another graphic
>>>>>> object is selected the recursion error occurs in the new
>>>>>> editor and not in
>>>>>> the old editor. The stack trace shows a dispose SWT Text
>>>>>> or DropDown
>>>>>> object being called in the SashForm property view class.
>>>>>> Also selection events do not always behave consistently.
>>>>>> Somethimes the
>>>>>> properties do not appear when selected and sometimes the
>>>>>> property
>>>>>> modification is lost.
>>>>>> The only related difference I can see between the two
>>>>>> editors is that the
>>>>>> ISelectionProvider is in a separate class from the
>>>>>> EditorPart in the new
>>>>>> editor.
>>>>>> I noted in the Eclipse bug list that seven recent bug
>>>>>> reports are related to
>>>>>> this kind of error message, but for different components.
>>>>>>
>>>>>> Does any one have any other ideas?
>>>>>> Should I report this as a bug?
>>>>>>
>>>>>> This is the stack trace.
>>>>>>
>>>>>> java.lang.RuntimeException: WARNING: Prevented recursive
>>>>>> attempt to activate
>>>>>> part DocumentEditor.SchedulePropertyEditor while still in
>>>>>> the middle of
>>>>>> activating part DocumentEditor.scheduleEditor
>>>>>> at
>>>>>>
>>>>>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>>>>>> at
>>>>>> org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>>>>>> at
>>>>>> org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
>>>>>> at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
>>>>>> at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
>>>>>> at
>>>>>>
>>>>>> com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
>>>>>> //dispose occurred here
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
>>>>>> at
>>>>>> org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
>>>>>> at
>>>>>>
>>>>>> com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
>>>>>> at
>>>>>>
>>>>>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
>>>>>> at
>>>>>>
>>>>>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
>>>>>> at
>>>>>> org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>>>>>> at
>>>>>> org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>>>>>> at
>>>>>> org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
>>>>>> at
>>>>>> org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>> at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
>>>>>> at
>>>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
>>>>>> at
>>>>>> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
>>>>>> at
>>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>>>> at
>>>>>> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
>>>>>> at
>>>>>>
>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>> Method)
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
>>>>>> Source)
>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>>>>>> Source)
>>>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>>>> at
>>>>>> org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
>>>>>> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
>>>>>> at org.eclipse.core.launcher.Main.run(Main.java:977)
>>>>>> at org.eclipse.core.launcher.Main.main(Main.java:952)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>
>
Re: WARNING: Prevented recursive attempt to activate part [message #314510 is a reply to message #314478] Mon, 16 April 2007 14:37 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: bokowski.ca.ibm.com

Not necessarily, but you should not open another editor while your editor is
being activated.

"Christophe Alexandre" <alexandre@magillem.com> wrote in message
news:evoecs$61l$1@build.eclipse.org...
> Does it mean that when I open an editor from my GEF editor with :
> IEditorPart editor = IDE.openEditor(page,editorInput,EDITOR_ID,true);
> I have to do something on the GEF editor, like deactivating it ?
>
> Boris Bokowski a
Re: WARNING: Prevented recursive attempt to activate part [message #314548 is a reply to message #314510] Tue, 17 April 2007 15:01 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: alexandre.magillem.com

Hi Boris,
I'm opening an editor on a resource when I double click on an object in
the outline (similar to the one in the logic GEF example).
Do you mean that I should not do that ?
or maybe there's a way to deactivate the current editor before opening
another one.

Regards.
Christophe


Boris Bokowski a écrit :
> Not necessarily, but you should not open another editor while your editor is
> being activated.
>
> "Christophe Alexandre" <alexandre@magillem.com> wrote in message
> news:evoecs$61l$1@build.eclipse.org...
>> Does it mean that when I open an editor from my GEF editor with :
>> IEditorPart editor = IDE.openEditor(page,editorInput,EDITOR_ID,true);
>> I have to do something on the GEF editor, like deactivating it ?
>>
>> Boris Bokowski a écrit :
>>> These kinds of errors can be caused by explicitly opening another view or
>>> editor while a part is being activated, or (harder to understand) changes
>>> that happen to the widget that currently has focus.
>>>
>>> "Christophe Alexandre" <alexandre@magillem.com> wrote in message
>>> news:evl129$n2t$1@build.eclipse.org...
>>>> Hi, I've got the same Warning :
>>>> java.lang.RuntimeException: WARNING: Prevented recursive attempt to
>>>> activate part org.eclipse.ui.views.ContentOutline while still in the
>>>> middle of activating part com.mds.editor.editor
>>>>
>>>> when I open an editor from my GEF editor by the command
>>>> IEditorPart editor = IDE.openEditor(page,editorInput,EDITOR_ID,true);
>>>> and when I come back to the first editor.
>>>>
>>>> I've tried to open it with a asyncExec but it does not make any change.
>>>>
>>>> Maybe it's the way I open the editor which is wrong.
>>>>
>>>> Regards.
>>>> Christophe
>>>>
>>>> Ron Marshall a écrit :
>>>>> Thanks again, Ed.
>>>>> It is kind of hard to provide meaningful details. The ProperyPane is
>>>>> custom property editor derived from a SashForm. The same class is used
>>>>> in the old and new editors. It works in the old editor, but not in the
>>>>> new one. I am going to do a detailed comparison of the event reponse of
>>>>> both editors. When I finish I will post my findings.
>>>>> Ron
>>>>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote in
>>>>> message news:evg3jk$ulj$1@build.eclipse.org...
>>>>> Ron,
>>>>>
>>>>> Unfortunately I don't know enough about how your application is
>>>>> structured to offer detailed advice on this. :-(
>>>>>
>>>>> I know that in the generated EMF editors we call
>>>>> PropertySheetPage.refresh whenever a command is executed (i.e.,
>>>>> whenever the model state changes):
>>>>>
>>>>> commandStack.addCommandStackListener
>>>>> (new CommandStackListener()
>>>>> {
>>>>> public void commandStackChanged(final EventObject
>>>>> event)
>>>>> {
>>>>> getContainer().getDisplay().asyncExec
>>>>> (new Runnable()
>>>>> {
>>>>> public void run()
>>>>> {
>>>>> firePropertyChange(IEditorPart.PROP_DIRTY);
>>>>>
>>>>> // Try to select the affected objects.
>>>>> //
>>>>> Command mostRecentCommand =
>>>>> ((CommandStack)event.getSource()).getMostRecentCommand();
>>>>> if (mostRecentCommand != null)
>>>>> {
>>>>>
>>>>> setSelectionToViewer(mostRecentCommand.getAffectedObjects()) ;
>>>>> }
>>>>> if (propertySheetPage != null &&
>>>>> !propertySheetPage.getControl().isDisposed())
>>>>> {
>>>>> *propertySheetPage.refresh();*
>>>>> }
>>>>> }
>>>>> });
>>>>> }
>>>>> });
>>>>>
>>>>>
>>>>> Ron Marshall wrote:
>>>>>> Ed, thanks for the idea. I tried the asyncExec while making the
>>>>>> run methods synchronized and the recursion exception went away.
>>>>>> However the property view "get" methods are not working when
>>>>>> properties are modified.
>>>>>> I tried merging the ISelectionProvider class with the EditorPart
>>>>>> class. Those functions being in separate classes was the only
>>>>>> noticable difference between the old editor and the new editor.
>>>>>> Merging the classes did not make any difference.
>>>>>> Ron
>>>>>>
>>>>>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>> wrote
>>>>>> in message news:ev593b$lvn$1@build.eclipse.org...
>>>>>> Ron,
>>>>>>
>>>>>> No big deal. I just give people what is hopefully a friendly
>>>>>> reminder. :-)
>>>>>>
>>>>>> I will again qualify what I say as a stab in the dark, but
>>>>>> synchExec blocks the caller whereas asynchExec allows the
>>>>>> caller to complete, so using the later might allow you to
>>>>>> break whatever cycle is occurring.
>>>>>>
>>>>>>
>>>>>> Ron Marshall wrote:
>>>>>>> This is my first posting so I am still getting used to the
>>>>>>> system. I originally posted to the SWT group because the web
>>>>>>> page did not offer a link to the platform group. I then
>>>>>>> realized I should have posted to the platform group. Later I
>>>>>>> realized the original title was not good so I reposted the
>>>>>>> message with a better title to both groups. As for the
>>>>>>> asyncExec
>>>>>>> suggestion the code is already in a syncExec runnable.
>>>>>>> Thanks for the advice.
>>>>>>>
>>>>>>> "Ed Merks" <merks@ca.ibm.com <mailto:merks@ca.ibm.com>>
>>>>>>> wrote in message news:ev306f$dak$2@build.eclipse.org...
>>>>>>> Ron,
>>>>>>>
>>>>>>> You also asked this same question on the SWT newsgroup.
>>>>>>> In general, if you must post to multiple newsgroups,
>>>>>>> please do so with a single posting addressed to all the
>>>>>>> groups so an answer on one group will appear on all
>>>>>>> groups (thereby reducing the workload for people
>>>>>>> answering questions).
>>>>>>> Not that I understand the details here, but one potential
>>>>>>> solution is to use this type of approach:
>>>>>>>
>>>>>>>
>>>>>>> getSite().getShell().getDisplay().asyncExec
>>>>>>> (new Runnable()
>>>>>>> {
>>>>>>> public void run()
>>>>>>> {
>>>>>>> doSomethingALittleLater();
>>>>>>> }
>>>>>>> });
>>>>>>>
>>>>>>> Ron Marshall wrote:
>>>>>>>> I am getting this error message while running an editor
>>>>>>>> I am developing:
>>>>>>>> WARNING: Prevented recursive attempt to activate part
>>>>>>>> DocumentEditor.SchedulePropertyEditor while still in the
>>>>>>>> middle of
>>>>>>>> activating part DocumentEditor.scheduleEditor.
>>>>>>>>
>>>>>>>> Note DocumentEditor.SchedulePropertyEditor is a subclass
>>>>>>>> of ViewPart and
>>>>>>>> DocumentEditor.scheduleEditor is a subclass of the
>>>>>>>> related EditorPart.
>>>>>>>> The ISelectionProvider implementation is a different
>>>>>>>> class. This new editor
>>>>>>>> is similar to an older editor that is working fine and
>>>>>>>> uses some of the same
>>>>>>>> code.
>>>>>>>> The old editor extends MultiPageEditorPart and
>>>>>>>> implements ISelectionProvider
>>>>>>>> in the same class. The old editor also uses a very
>>>>>>>> similar ViewPart
>>>>>>>> subclass.
>>>>>>>> The old editor has a SWT Swing bridge editor window of
>>>>>>>> graphic objects and a
>>>>>>>> SashForm based property view.
>>>>>>>> The new editor has a SWT editor window of graphic
>>>>>>>> objects and a SashForm
>>>>>>>> property view.
>>>>>>>> Both editors use tha same SashForm property view class
>>>>>>>> called PropertyPane.
>>>>>>>> When a graphic object is selected in the new editor its
>>>>>>>> properties appear in
>>>>>>>> the property view when a property is modified and when
>>>>>>>> another graphic
>>>>>>>> object is selected the recursion error occurs in the new
>>>>>>>> editor and not in
>>>>>>>> the old editor. The stack trace shows a dispose SWT
>>>>>>>> Text or DropDown
>>>>>>>> object being called in the SashForm property view class.
>>>>>>>> Also selection events do not always behave consistently.
>>>>>>>> Somethimes the
>>>>>>>> properties do not appear when selected and sometimes the
>>>>>>>> property
>>>>>>>> modification is lost.
>>>>>>>> The only related difference I can see between the two
>>>>>>>> editors is that the
>>>>>>>> ISelectionProvider is in a separate class from the
>>>>>>>> EditorPart in the new
>>>>>>>> editor.
>>>>>>>> I noted in the Eclipse bug list that seven recent bug
>>>>>>>> reports are related to
>>>>>>>> this kind of error message, but for different
>>>>>>>> components.
>>>>>>>>
>>>>>>>> Does any one have any other ideas?
>>>>>>>> Should I report this as a bug?
>>>>>>>>
>>>>>>>> This is the stack trace.
>>>>>>>>
>>>>>>>> java.lang.RuntimeException: WARNING: Prevented recursive
>>>>>>>> attempt to activate
>>>>>>>> part DocumentEditor.SchedulePropertyEditor while still
>>>>>>>> in the middle of
>>>>>>>> activating part DocumentEditor.scheduleEditor
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3157)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.release(Widget.java:753)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
>>>>>>>> at
>>>>>>>>
>>>>>>>> com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.java:238)
>>>>>>>> //dispose occurred here
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
>>>>>>>> at
>>>>>>>>
>>>>>>>> com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPane.java:185)
>>>>>>>> at
>>>>>>>>
>>>>>>>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.showCellProps(ScheduleProper tyEditorViewPart.java:140)
>>>>>>>> at
>>>>>>>>
>>>>>>>> com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$EditorSelectionListener.selectionChanged(SchedulePro pertyEditorViewPart.java:88)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(AbstractSelectionService.java:179)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSelectionService.java:289)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:59)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3207)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2750)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
>>>>>>>> at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native
>>>>>>>> Method)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
>>>>>>>> at
>>>>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:422)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>>>>>> at
>>>>>>>> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>> Method)
>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
>>>>>>>> Source)
>>>>>>>> at
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>>>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>>>>>> at
>>>>>>>> org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
>>>>>>>> at
>>>>>>>> org.eclipse.core.launcher.Main.basicRun(Main.java:280)
>>>>>>>> at org.eclipse.core.launcher.Main.run(Main.java:977)
>>>>>>>> at org.eclipse.core.launcher.Main.main(Main.java:952)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>
Re: WARNING: Prevented recursive attempt to activate part [message #315771 is a reply to message #314277] Fri, 18 May 2007 20:53 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: rmarshall.tritechsoft.com

This is a multi-part message in MIME format.

------=_NextPart_000_0009_01C79964.9EB1CBE0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

using asyncExec instead of sync seemed to solve the recursion problem. =
I also found the new editor was missing a setFocus function that the old =
editor had. This error caused a lot of my property modification =
problems that were based on focus lost. The new editor derived from =
EditorPart and the old editor derived from MultiPageEditorPart.=20




"Ron Marshall" <rmarshall@tritechsoft.com> wrote in message =
news:ev3qgu$v0t$1@build.eclipse.org...
This is my first posting so I am still getting used to the system. I =
originally posted to the SWT group because the web page did not offer a =
link to the platform group. I then realized I should have posted to the =
platform group. Later I realized the original title was not good so I =
reposted the message with a better title to both groups. =20

As for the asyncExec
suggestion the code is already in a syncExec runnable.
Thanks for the advice.
"Ed Merks" <merks@ca.ibm.com> wrote in message =
news:ev306f$dak$2@build.eclipse.org...
Ron,

You also asked this same question on the SWT newsgroup. In general, =
if you must post to multiple newsgroups, please do so with a single =
posting addressed to all the groups so an answer on one group will =
appear on all groups (thereby reducing the workload for people answering =
questions). =20

Not that I understand the details here, but one potential solution =
is to use this type of approach:

getSite().getShell().getDisplay().asyncExec
(new Runnable()
{
public void run()
{
doSomethingALittleLater();
}
});

Ron Marshall wrote:=20
I am getting this error message while running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new =
editor
is similar to an older editor that is working fine and uses some of the =
same
code.
The old editor extends MultiPageEditorPart and implements =
ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects =
and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called =
PropertyPane.
When a graphic object is selected in the new editor its properties =
appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not =
in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that =
the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are =
related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to =
activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:31=
57)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.j=
ava:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at =
org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPan=
e.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.showCellProps(SchedulePropertyEditorViewP art.java:140)=

at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.selectionChanged(SchedulePropertyEditorVi ewPart.java:8=
8)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(Abstra=
ctSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSe=
lectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(Workb=
enchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:32=
07)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at =
org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:42=
2)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at =
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivat=
or.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplicati=
on(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(Eclips=
eAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:4=
00)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:1=
77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



=20

------=_NextPart_000_0009_01C79964.9EB1CBE0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type =
content=3Dtext/html;charset=3DISO-8859-1>
<META content=3D"MSHTML 6.00.5730.11" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY text=3D#000000 bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2><FONT size=3D3>using </FONT><FONT=20
face=3D"Times New Roman"><FONT size=3D3>asyncExec instead of sync seemed =
to solve=20
the recursion problem</FONT>.&nbsp;&nbsp; <FONT size=3D3>I also found =
the new=20
editor </FONT><FONT size=3D2>was </FONT></FONT><FONT face=3D"Times New =
Roman"=20
size=3D3>missing a setFocus function that the old editor had.&nbsp; This =
error=20
caused a lot of my property modification problems that were based on =
focus lost.=20
The new editor derived from EditorPart and the old editor derived from=20
MultiPageEditorPart. <FONT face=3DArial color=3D#000000 size=3D2>
<P>&nbsp;</P></FONT><BR></FONT></FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ron Marshall" &lt;<A=20
=
href=3D"mailto:rmarshall@tritechsoft.com">rmarshall@tritechsoft.com</A>&g=
t;=20
wrote in message <A=20
=
href=3D"news:ev3qgu$v0t$1@build.eclipse.org">news:ev3qgu$v0t$1@build.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>This is my first posting so I am =
still getting=20
used to the system.&nbsp; I originally posted&nbsp;to the SWT group =
because=20
the web page did not offer a link to the platform group.&nbsp; I then =
realized=20
I should have posted to the platform group.&nbsp; Later I realized the =

original title was not good so I reposted the message with a better =
title to=20
both groups.&nbsp; </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>As for&nbsp;the <FONT=20
face=3D"Times New Roman">asyncExec</FONT><BR>suggestion the code is =
already in a=20
syncExec runnable.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Thanks for the advice.</FONT></DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ed Merks" &lt;<A=20
href=3D"mailto:merks@ca.ibm.com">merks@ca.ibm.com</A>&gt; wrote in =
message <A=20
=
href=3D"news:ev306f$dak$2@build.eclipse.org">news:ev306f$dak$2@build.ecli=
pse.org</A>...</DIV>Ron,<BR><BR>You=20
also asked this same question on the SWT newsgroup.&nbsp; In =
general, if you=20
must post to multiple newsgroups, please do so with a single posting =

addressed to all the groups so an answer on one group will appear on =
all=20
groups (thereby reducing the workload for people answering =
questions).&nbsp;=20
<BR><BR>Not that I understand the details here, but one potential =
solution=20
is to use this type of=20
=
approach:<BR><BR><SMALL> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;=20
=
getSite().getShell().getDisplay().asyncExec<BR>&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n b=
sp;=20
(new=20
=
Runnable()<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;=20
public void=20
=
run()<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=
doSomethingALittleLater();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;=20
=
}<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;=20
});<BR><BR></SMALL>Ron Marshall wrote:=20
<BLOCKQUOTE cite=3Dmidev2v8c$aul$1@build.eclipse.org =
type=3D"cite"><PRE wrap=3D"">I am getting this error message while =
running an editor I am developing:
WARNING: Prevented recursive attempt to activate part
DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor.

Note DocumentEditor.SchedulePropertyEditor is a subclass of ViewPart and
DocumentEditor.scheduleEditor is a subclass of the related EditorPart.
The ISelectionProvider implementation is a different class. This new =
editor
is similar to an older editor that is working fine and uses some of the =
same
code.
The old editor extends MultiPageEditorPart and implements =
ISelectionProvider
in the same class. The old editor also uses a very similar ViewPart
subclass.
The old editor has a SWT Swing bridge editor window of graphic objects =
and a
SashForm based property view.
The new editor has a SWT editor window of graphic objects and a SashForm
property view.
Both editors use tha same SashForm property view class called =
PropertyPane.
When a graphic object is selected in the new editor its properties =
appear in
the property view when a property is modified and when another graphic
object is selected the recursion error occurs in the new editor and not =
in
the old editor. The stack trace shows a dispose SWT Text or DropDown
object being called in the SashForm property view class.
Also selection events do not always behave consistently. Somethimes the
properties do not appear when selected and sometimes the property
modification is lost.
The only related difference I can see between the two editors is that =
the
ISelectionProvider is in a separate class from the EditorPart in the new
editor.
I noted in the Eclipse bug list that seven recent bug reports are =
related to
this kind of error message, but for different components.

Does any one have any other ideas?
Should I report this as a bug?

This is the stack trace.

java.lang.RuntimeException: WARNING: Prevented recursive attempt to =
activate
part DocumentEditor.SchedulePropertyEditor while still in the middle of
activating part DocumentEditor.scheduleEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:31=
57)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1984)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2145)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:386 0)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3312 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:5 57)
at org.eclipse.swt.widgets.Widget.release(Widget.java:753)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:415)
at
com.tritechsoft.documentEditor.controls.PropertyPane$2.run(P ropertyPane.j=
ava:238)
//dispose occurred here
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.j ava:152)
at =
org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchroniz er.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at
com.tritechsoft.documentEditor.controls.PropertyPane.fillGri d(PropertyPan=
e.java:185)
at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.showCellProps(SchedulePropertyEditorViewP art.java:140)=

at
com.tritechsoft.documentEditor.views.SchedulePropertyEditorV iewPart$Edito=
rSelectionListener.selectionChanged(SchedulePropertyEditorVi ewPart.java:8=
8)
at
org.eclipse.ui.internal.AbstractSelectionService.firePostSel ection(Abstra=
ctSelectionService.java:179)
at
org.eclipse.ui.internal.AbstractSelectionService.setActivePa rt(AbstractSe=
lectionService.java:289)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(Workb=
enchPagePartList.java:59)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:32=
07)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.jav=
a:2750)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:256)
at =
org.eclipse.ui.internal.EditorPane.requestActivation(EditorP ane.java:89)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 20)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:11 99)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:18 96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3287 )
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1539)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1927 )
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable .java:77)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:185 1)
at org.eclipse.swt.widgets.Label.callWindowProc(Label.java:96)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2963)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:42=
2)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at =
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivat=
or.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplicati=
on(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(Eclips=
eAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:4=
00)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:1=
77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)



</PRE></BLOCKQUOTE><BR></BLOCKQUOTE></BLOCKQUOTE></BODY ></HTML>

------=_NextPart_000_0009_01C79964.9EB1CBE0--
Re: WARNING: Prevented recursive attempt to activate part [message #331460 is a reply to message #314294] Mon, 08 September 2008 17:29 Go to previous message
Paul E. Keyser is currently offline Paul E. KeyserFriend
Messages: 878
Registered: July 2009
Senior Member
I know this is an old thread, but in case this issue is still "live" or
comes up again, the following call-stack may possibly be relevant --
note that this is entirely *within* Eclipse its own self:

java.lang.RuntimeException: WARNING: Prevented recursive attempt to
activate part org.eclipse.jdt.ui.PackageExplorer while still in the
middle of activating part org.eclipse.ui.DefaultTextEditor
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3334)
at
org.eclipse.ui.internal.WorkbenchPage.requestActivation(Work benchPage.java:2928)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane. java:265)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:2 29)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:962)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:943)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:12 73)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 2366)
at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2176)
at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:428 2)
at org.eclipse.swt.widgets.Tree.WM_SETFOCUS(Tree.java:6366)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3738 )
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5370)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4351 )
at org.eclipse.swt.internal.win32.OS.SetFocus(Native Method)
at org.eclipse.swt.widgets.Control.forceFocus(Control.java:963)
at org.eclipse.swt.widgets.Control.setSavedFocus(Control.java:2 966)
at org.eclipse.swt.widgets.Decorations.restoreFocus(Decorations .java:819)
at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Decorations. java:1625)
at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Shell.java:1833)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3670 )
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:291)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.j ava:1584)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1753)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4351 )
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:6 52)
at org.eclipse.swt.widgets.Shell.destroyWidget(Shell.java:636)
at org.eclipse.swt.widgets.Widget.release(Widget.java:750)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:410)
at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java :457)
at org.eclipse.swt.widgets.Shell.dispose(Shell.java:653)
at org.eclipse.jface.window.Window.close(Window.java:330)
at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:971)
at
org.eclipse.jface.dialogs.MessageDialog.buttonPressed(Messag eDialog.java:167)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:616)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:227)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3293)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820 )
at org.eclipse.jface.window.Window.open(Window.java:796)
at
org.eclipse.jface.dialogs.MessageDialog.openQuestion(Message Dialog.java:371)
at
org.eclipse.ui.texteditor.AbstractTextEditor.handleEditorInp utChanged(AbstractTextEditor.java:4425)
at
org.eclipse.ui.texteditor.StatusTextEditor.handleEditorInput Changed(StatusTextEditor.java:220)
at
org.eclipse.ui.texteditor.AbstractTextEditor.sanityCheckStat e(AbstractTextEditor.java:4555)
at
org.eclipse.ui.texteditor.StatusTextEditor.sanityCheckState( StatusTextEditor.java:210)
at
org.eclipse.ui.texteditor.AbstractTextEditor.safelySanityChe ckState(AbstractTextEditor.java:4533)
at
org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListe ner.handleActivation(AbstractTextEditor.java:921)
at
org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListe ner.partActivated(AbstractTextEditor.java:879)
at org.eclipse.ui.internal.PartListenerList$1.run(PartListenerL ist.java:72)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:857)
at
org.eclipse.ui.internal.PartListenerList.fireEvent(PartListe nerList.java:57)
at
org.eclipse.ui.internal.PartListenerList.firePartActivated(P artListenerList.java:70)
at
org.eclipse.ui.internal.PartService.firePartActivated(PartSe rvice.java:73)
at org.eclipse.ui.internal.PartService.setActivePart(PartServic e.java:171)
at
org.eclipse.ui.internal.WWinPartService.updateActivePart(WWi nPartService.java:124)
at
org.eclipse.ui.internal.WWinPartService.access$0(WWinPartSer vice.java:115)
at
org.eclipse.ui.internal.WWinPartService$1.partDeactivated(WW inPartService.java:48)
at
org.eclipse.ui.internal.PartListenerList2$4.run(PartListener List2.java:113)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:857)
at
org.eclipse.ui.internal.PartListenerList2.fireEvent(PartList enerList2.java:53)
at
org.eclipse.ui.internal.PartListenerList2.firePartDeactivate d(PartListenerList2.java:111)
at
org.eclipse.ui.internal.PartService.firePartDeactivated(Part Service.java:116)
at org.eclipse.ui.internal.PartService.setActivePart(PartServic e.java:165)
at
org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePart Changed(WorkbenchPagePartList.java:56)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java :126)
at
org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3384)
at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage .java:602)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2730)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2633)
at org.eclipse.ui.internal.WorkbenchPage.access$12(WorkbenchPag e.java:2625)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2577)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2572)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2556)
at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu. java:340)
at org.eclipse.ui.actions.OpenWithMenu.access$0(OpenWithMenu.ja va:328)
at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMe nu.java:190)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 19)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:289)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:106)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:153)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:76)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:363)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
Previous Topic:beyond Ganymede
Next Topic:PDE headless build - Target definition
Goto Forum:
  


Current Time: Fri Feb 07 09:37:23 GMT 2025

Powered by FUDForum. Page generated in 0.39543 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top