Giter Site home page Giter Site logo

Comments (4)

ifurnadjiev avatar ifurnadjiev commented on July 18, 2024

I checked the original platform code and it looks similar to the one in RAP E4EntryPointFactory. Do I miss something? Is it possible to point us to the code that differ between RAP and RCP?

from org.eclipse.rap.

emweber avatar emweber commented on July 18, 2024

For non-RAP I found the following:

This is the stack of invocation of the @PersistState annotated methods:

NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 77
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 568
MethodRequestor.execute() line: 58
InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean, boolean, boolean) line: 317
InjectorImpl.invoke(Object, Class<Annotation>, Object, PrimaryObjectSupplier) line: 245
ContextInjectionFactory.invoke(Object, Class<Annotation>, IEclipseContext, Object) line: 147
PartRenderingEngine.safeRemoveGui(MUIElement) line: 928
PartRenderingEngine$4.run() line: 860
SafeRunner.run(ISafeRunnable) line: 45
PartRenderingEngine.removeGui(MUIElement) line: 844
PartRenderingEngine.safeRemoveGui(MUIElement) line: 892
PartRenderingEngine$4.run() line: 860
SafeRunner.run(ISafeRunnable) line: 45
PartRenderingEngine.removeGui(MUIElement) line: 844
PartRenderingEngine.safeRemoveGui(MUIElement) line: 892
PartRenderingEngine$4.run() line: 860
SafeRunner.run(ISafeRunnable) line: 45
PartRenderingEngine.removeGui(MUIElement) line: 844
WBWRenderer.cleanUp(MWindow) line: 631
WBWRenderer.lambda$4(ShellEvent) line: 571
0x0000000800edaad8.accept(Object) line: not available
ShellListener$2.shellClosed(ShellEvent) line: 102
TypedListener.handleEvent(Event) line: 102
EventTable.sendEvent(Event) line: 89
Display.sendEvent(EventTable, Event) line: 4243
Shell(Widget).sendEvent(Event) line: 1060
Shell(Widget).sendEvent(int, Event, boolean) line: 1084
Shell(Widget).sendEvent(int, Event) line: 1069
Shell(Decorations).closeWidget() line: 269
Shell(Decorations).WM_CLOSE(long, long) line: 1552
Shell(Control).windowProc(long, int, long, long) line: 4755
Shell(Canvas).windowProc(long, int, long, long) line: 340
Shell(Decorations).windowProc(long, int, long, long) line: 1480
Shell.windowProc(long, int, long, long) line: 2286
Display.windowProc(long, long, long, long) line: 5002
OS.DefWindowProc(long, int, long, long) line: not available [native method]
Shell.callWindowProc(long, int, long, long) line: 508
Shell(Control).windowProc(long, int, long, long) line: 4854
Shell(Canvas).windowProc(long, int, long, long) line: 340
Shell(Decorations).windowProc(long, int, long, long) line: 1480
Shell.windowProc(long, int, long, long) line: 2286
Display.windowProc(long, long, long, long) line: 5002
OS.DefWindowProc(long, int, long, long) line: not available [native method]
Shell.callWindowProc(long, int, long, long) line: 508
Shell(Control).windowProc(long, int, long, long) line: 4854
Shell(Canvas).windowProc(long, int, long, long) line: 340
Shell(Decorations).windowProc(long, int, long, long) line: 1480
Shell.windowProc(long, int, long, long) line: 2286
Display.windowProc(long, long, long, long) line: 5002
OS.DispatchMessage(MSG) line: not available [native method]
Display.readAndDispatch() line: 3630
PartRenderingEngine$5.run() line: 1154
Realm.runWithDefault(Realm, Runnable) line: 338
PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 1045
E4Workbench.createAndRunUI(MApplicationElement) line: 155
E4Application.start(IApplicationContext) line: 168
EclipseAppHandle.run(Object) line: 203

This is the stack of writing the model:

E4Application.start(IApplicationContext) line: 170
EclipseAppHandle.run(Object) line: 203

In the code snippet of E4Application.start() you see

			workbench.createAndRunUI(workbench.getApplication());  <-- calls @PersistState annotated methods

			saveModel();                  <-- persists the model
			workbench.close();

from org.eclipse.rap.

ifurnadjiev avatar ifurnadjiev commented on July 18, 2024

Do you have a suggestion how to fix it? A pull request will be welcomed.

from org.eclipse.rap.

emweber avatar emweber commented on July 18, 2024

Sorry, no idea. My knowledge of the codebase is very limited.

from org.eclipse.rap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.