Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 320817 - stack overflow involving CTabFolder
Summary: stack overflow involving CTabFolder
Status: RESOLVED FIXED
Alias: None
Product: e4
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 1.0   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 blocker (vote)
Target Milestone: 1.0 RC3   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-24 13:26 EDT by Boris Bokowski CLA
Modified: 2010-07-28 16:36 EDT (History)
3 users (show)

See Also:
bokowski: review+
Silenio_Quarti: review+


Attachments
patch (1.05 KB, patch)
2010-07-26 12:25 EDT, Bogdan Gheorghe CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Boris Bokowski CLA 2010-07-24 13:26:10 EDT
org.eclipse.swt.widgets.Shell.isDrawing(Shell.java:1088)
org.eclipse.swt.widgets.Control.isDrawing(Control.java:1932)
org.eclipse.swt.widgets.Control.isDrawing(Control.java:1932)
org.eclipse.swt.widgets.Control.isDrawing(Control.java:1932)
org.eclipse.swt.widgets.Control.isDrawing(Control.java:1932)
org.eclipse.swt.widgets.Control.isDrawing(Control.java:1932)
org.eclipse.swt.widgets.Control.isDrawing(Control.java:1932)
org.eclipse.swt.widgets.Control.isDrawing(Control.java:1932)
org.eclipse.swt.widgets.Control.calculateVisibleRegion(Control.java:644)
org.eclipse.swt.widgets.Control.getVisibleRegion(Control.java:1754)
org.eclipse.swt.widgets.Control.resetVisibleRegion(Control.java:2910)
org.eclipse.swt.widgets.Control.invalidateVisibleRegion(Control.java:1916)
org.eclipse.swt.widgets.Control.setFrameOrigin(Control.java:3389)
org.eclipse.swt.widgets.Display.windowProc(Display.java:4964)
org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
org.eclipse.swt.internal.cocoa.NSView.setFrame(NSView.java:251)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3137)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3172)
org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2252)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3440)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3373)
org.eclipse.e4.ui.widgets.CTabFolder$1.controlResized(CTabFolder.java:173)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1371)
org.eclipse.swt.widgets.Control.resized(Control.java:2921)
org.eclipse.swt.widgets.Composite.resized(Composite.java:929)
org.eclipse.swt.widgets.ToolBar.resized(ToolBar.java:532)
org.eclipse.swt.widgets.Control.setFrameSize(Control.java:3404)
org.eclipse.swt.widgets.Display.windowProc(Display.java:4968)
org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
org.eclipse.swt.internal.cocoa.NSView.setFrame(NSView.java:251)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3137)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3172)
org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2252)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3440)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3373)
org.eclipse.e4.ui.widgets.CTabFolder$1.controlResized(CTabFolder.java:173)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1371)
org.eclipse.swt.widgets.Control.resized(Control.java:2921)
org.eclipse.swt.widgets.Composite.resized(Composite.java:929)
org.eclipse.swt.widgets.ToolBar.resized(ToolBar.java:532)
org.eclipse.swt.widgets.Control.setFrameSize(Control.java:3404)
org.eclipse.swt.widgets.Display.windowProc(Display.java:4968)
org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
org.eclipse.swt.internal.cocoa.NSView.setFrame(NSView.java:251)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3137)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3172)
org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2252)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3440)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3373)
org.eclipse.e4.ui.widgets.CTabFolder$1.controlResized(CTabFolder.java:173)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1371)
org.eclipse.swt.widgets.Control.resized(Control.java:2921)
org.eclipse.swt.widgets.Composite.resized(Composite.java:929)
org.eclipse.swt.widgets.ToolBar.resized(ToolBar.java:532)
org.eclipse.swt.widgets.Control.setFrameSize(Control.java:3404)
org.eclipse.swt.widgets.Display.windowProc(Display.java:4968)
org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
org.eclipse.swt.internal.cocoa.NSView.setFrame(NSView.java:251)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3137)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3172)
org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2252)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3440)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3373)
org.eclipse.e4.ui.widgets.CTabFolder$1.controlResized(CTabFolder.java:173)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1371)
org.eclipse.swt.widgets.Control.resized(Control.java:2921)
org.eclipse.swt.widgets.Composite.resized(Composite.java:929)
org.eclipse.swt.widgets.ToolBar.resized(ToolBar.java:532)
org.eclipse.swt.widgets.Control.setFrameSize(Control.java:3404)
org.eclipse.swt.widgets.Display.windowProc(Display.java:4968)
org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
org.eclipse.swt.internal.cocoa.NSView.setFrame(NSView.java:251)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3137)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3172)
org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2252)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3440)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3373)
org.eclipse.e4.ui.widgets.CTabFolder$1.controlResized(CTabFolder.java:173)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1371)
org.eclipse.swt.widgets.Control.resized(Control.java:2921)
org.eclipse.swt.widgets.Composite.resized(Composite.java:929)
org.eclipse.swt.widgets.ToolBar.resized(ToolBar.java:532)
org.eclipse.swt.widgets.Control.setFrameSize(Control.java:3404)
org.eclipse.swt.widgets.Display.windowProc(Display.java:4968)
org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
org.eclipse.swt.internal.cocoa.NSView.setFrame(NSView.java:251)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3137)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3172)
org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2252)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3440)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3373)
org.eclipse.e4.ui.widgets.CTabFolder$1.controlResized(CTabFolder.java:173)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1371)
org.eclipse.swt.widgets.Control.resized(Control.java:2921)
org.eclipse.swt.widgets.Composite.resized(Composite.java:929)
org.eclipse.swt.widgets.ToolBar.resized(ToolBar.java:532)
org.eclipse.swt.widgets.Control.setFrameSize(Control.java:3404)
org.eclipse.swt.widgets.Display.windowProc(Display.java:4968)
org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
org.eclipse.swt.internal.cocoa.NSView.setFrame(NSView.java:251)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3137)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3172)
org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2252)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3440)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3373)
org.eclipse.e4.ui.widgets.CTabFolder$1.controlResized(CTabFolder.java:173)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1371)
org.eclipse.swt.widgets.Control.resized(Control.java:2921)
org.eclipse.swt.widgets.Composite.resized(Composite.java:929)
org.eclipse.swt.widgets.ToolBar.resized(ToolBar.java:532)
org.eclipse.swt.widgets.Control.setFrameSize(Control.java:3404)
org.eclipse.swt.widgets.Display.windowProc(Display.java:4968)
org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
org.eclipse.swt.internal.cocoa.NSView.setFrame(NSView.java:251)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3137)
org.eclipse.swt.widgets.Control.setBounds(Control.java:3172)
org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2252)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3440)
org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3373)
org.eclipse.e4.ui.widgets.CTabFolder$1.controlResized(CTabFolder.java:173)
org.ecli...
Comment 1 Bogdan Gheorghe CLA 2010-07-26 12:25:02 EDT
Created attachment 175238 [details]
patch

Patch to ignore resize events when CTabFolder sets the bounds of the top right control.
Comment 2 Boris Bokowski CLA 2010-07-26 13:07:00 EDT
I'm waiting on a code review from Silenio (or someone else from the SWT team).
Comment 3 Silenio Quarti CLA 2010-07-26 15:01:07 EDT
Code is good.
Comment 4 Remy Suen CLA 2010-07-28 16:17:32 EDT
Did this get released? Should this be closed?
Comment 5 Bogdan Gheorghe CLA 2010-07-28 16:36:30 EDT
Yup and Yup.

Fixed in HEAD > 20100726