Community
Participate
Working Groups
GTK: boolean runDeferredLayouts () { if (layoutDeferredCount != 0) { Composite[] temp = layoutDeferred; int count = layoutDeferredCount; layoutDeferred = null; layoutDeferredCount = 0; for (int i = 0; i < count; i++) { Composite comp = temp[i]; if (!comp.isDisposed()) comp.setLayoutDeferred (false); } update (); return true; } return false; } MacOS: boolean runDeferredLayouts () { if (layoutDeferredCount != 0) { Composite[] temp = layoutDeferred; int count = layoutDeferredCount; layoutDeferred = null; layoutDeferredCount = 0; for (int i = 0; i < count; i++) { Composite comp = temp[i]; if (!comp.isDisposed()) comp.setLayoutDeferred (false); } update (); return true; } return false; } This missing call my explain bugs like Bug 494470 in which layout behaves incorrect on Mac while it works well on GTK.
Sorry current Mac version of cause is missing the update() call: MacOS: boolean runDeferredLayouts () { if (layoutDeferredCount != 0) { Composite[] temp = layoutDeferred; int count = layoutDeferredCount; layoutDeferred = null; layoutDeferredCount = 0; for (int i = 0; i < count; i++) { Composite comp = temp[i]; if (!comp.isDisposed()) comp.setLayoutDeferred (false); } return true; } return false; }
New Gerrit change created: https://git.eclipse.org/r/164439
@Lars, Can you please give an example of the problem that the change fixes?
(In reply to Lakshmi Shanmugam from comment #3) > @Lars, > Can you please give an example of the problem that the change fixes? or a snippet so that I can test it.
(In reply to Lakshmi Shanmugam from comment #3) > @Lars, > Can you please give an example of the problem that the change fixes? Only don't have a Mac so I don't know but test case would be Bug 494470
(In reply to Lars Vogel from comment #5) > (In reply to Lakshmi Shanmugam from comment #3) > > @Lars, > > Can you please give an example of the problem that the change fixes? > > Only don't have a Mac so I don't know but test case would be Bug 494470 Please see https://bugs.eclipse.org/bugs/show_bug.cgi?id=494470#c21, we need to verify if the bug is still reproducible.