diff options
author | Silenio Quarti <silenio> | 2005-08-11 22:04:51 +0000 |
---|---|---|
committer | Silenio Quarti <silenio> | 2005-08-11 22:04:51 +0000 |
commit | 23924781510c1bb1b1ffb2a7bdd4ea34e85a6d41 (patch) | |
tree | c25cb6879061bfc2af03d9be0801b3f513e1944f /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets | |
parent | 9ce9802fd45008b10ebdc4f00df4632b23f5e8eb (diff) | |
download | eclipse.platform.swt-23924781510c1bb1b1ffb2a7bdd4ea34e85a6d41.tar.gz eclipse.platform.swt-23924781510c1bb1b1ffb2a7bdd4ea34e85a6d41.tar.xz eclipse.platform.swt-23924781510c1bb1b1ffb2a7bdd4ea34e85a6d41.zip |
4416 & 74139 - reorder SWT.Dispose callback
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets')
12 files changed, 26 insertions, 22 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java index d6942c22c6..11c92cd916 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java @@ -128,7 +128,7 @@ void redrawWidget (int x, int y, int width, int height, boolean all) { void releaseCildren (boolean destroy) { if (caret != null) { - caret.releaseChildren (false); + caret.release (false); caret = null; } super.releaseChildren (destroy); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java index 352f26bd0d..153eaa5a55 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java @@ -944,7 +944,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<children.length; i++) { Control child = children [i]; if (child != null && !child.isDisposed ()) { - child.releaseChildren (false); + child.release (false); } } super.releaseChildren (destroy); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java index 1191764eb7..74baa3edf1 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java @@ -459,7 +459,7 @@ void removeMenu (Menu menu) { void releaseChildren (boolean destroy) { if (menuBar != null) { - menuBar.releaseChildren (false); + menuBar.release (false); menuBar = null; } super.releaseChildren (destroy); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java index 9528a09038..2f70edd833 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java @@ -702,7 +702,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<items.length; i++) { MenuItem item = items [i]; if (item != null && !item.isDisposed ()) { - item.releaseChildren (false); + item.release (false); } } super.releaseChildren (destroy); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java index 71b230b357..200c8e1cb8 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java @@ -480,7 +480,7 @@ public boolean isEnabled () { void releaseChildren (boolean destroy) { if (menu != null) { - menu.releaseChildren (false); + menu.release (false); menu = null; } super.releaseChildren (destroy); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java index a28e638187..64d2e0eec7 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java @@ -308,11 +308,11 @@ void releaseHandle () { void releaseChildren (boolean destroy) { if (horizontalBar != null) { - horizontalBar.releaseChildren (false); + horizontalBar.release (false); horizontalBar = null; } if (verticalBar != null) { - verticalBar.releaseChildren (false); + verticalBar.release (false); verticalBar = null; } super.releaseChildren (destroy); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java index 2d4a44ffa3..686f3df4f0 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java @@ -1571,7 +1571,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<shells.length; i++) { Shell shell = shells [i]; if (shell != null && !shell.isDisposed ()) { - shell.releaseChildren (false); + shell.release (false); } } super.releaseChildren (destroy); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java index 70bc950792..f403708a97 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java @@ -498,7 +498,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<items.length; i++) { TabItem item = items [i]; if (item != null && !item.isDisposed ()) { - item.releaseChildren (false); + item.release (false); } } items = null; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java index 1b0c602a83..97be44afab 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java @@ -1916,7 +1916,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<itemCount; i++) { TableItem item = items [i]; if (item != null && !item.isDisposed ()) { - item.releaseChildren (false); + item.release (false); } } items = null; @@ -1925,7 +1925,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<columnCount; i++) { TableColumn column = columns [i]; if (column != null && !column.isDisposed ()) { - column.releaseChildren (false); + column.release (false); } } columns = null; @@ -1969,7 +1969,7 @@ public void remove (int index) { disposed = item.isDisposed (); if (!disposed) { OS.memmove (iter, item.handle, OS.GtkTreeIter_sizeof ()); - item.releaseChildren (false); + item.release (false); } } else { OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); @@ -2013,7 +2013,7 @@ public void remove (int start, int end) { int index = start; while (index <= end) { TableItem item = items [index]; - if (item != null && !item.isDisposed ()) item.releaseChildren (false); + if (item != null && !item.isDisposed ()) item.release (false); OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED); OS.gtk_list_store_remove (modelHandle, iter); OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED); @@ -2063,7 +2063,7 @@ public void remove (int [] indices) { disposed = item.isDisposed (); if (!disposed) { OS.memmove (iter, item.handle, OS.GtkTreeIter_sizeof ()); - item.releaseChildren (false); + item.release (false); } } else { OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); @@ -2094,7 +2094,7 @@ public void removeAll () { int index = itemCount - 1; while (index >= 0) { TableItem item = items [index]; - if (item != null && !item.isDisposed ()) item.releaseChildren (false); + if (item != null && !item.isDisposed ()) item.release (false); --index; } items = new TableItem [4]; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java index fd0915b7ec..e1745cdc50 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java @@ -393,7 +393,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<items.length; i++) { ToolItem item = items [i]; if (item != null && !item.isDisposed ()) { - item.releaseChildren (false); + item.release (false); } } super.releaseChildren (destroy); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java index c8f594ad91..93ee046e0f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java @@ -1764,7 +1764,7 @@ void register () { void releaseItem (TreeItem item, int [] index, boolean release) { OS.gtk_tree_model_get (modelHandle, item.handle, ID_COLUMN, index, -1); - if (release) item.releaseChildren (false); + if (release) item.release (false); items [index [0]] = null; } @@ -1786,7 +1786,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<items.length; i++) { TreeItem item = items [i]; if (item != null && !item.isDisposed ()) { - item.releaseChildren(false); + item.release (false); } } items = null; @@ -1795,7 +1795,7 @@ void releaseChildren (boolean destroy) { for (int i=0; i<columnCount; i++) { TreeColumn column = columns [i]; if (column != null && !column.isDisposed ()) { - column.releaseChildren (false); + column.release (false); } } columns = null; @@ -1826,7 +1826,7 @@ public void removeAll () { checkWidget (); for (int i=0; i<items.length; i++) { TreeItem item = items [i]; - if (item != null && !item.isDisposed ()) item.releaseChildren (false); + if (item != null && !item.isDisposed ()) item.release (false); } items = new TreeItem[4]; /* diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java index 5a40f0fd00..3522270a05 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java @@ -411,7 +411,7 @@ public void dispose () { */ if (isDisposed ()) return; if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - releaseChildren (true); + release (true); } void error (int code) { @@ -919,11 +919,12 @@ void register () { if ((state & HANDLE) != 0) display.addWidget (handle, this); } -void releaseChildren (boolean destroy) { +void release (boolean destroy) { if ((state & DISPOSE_SENT) == 0) { state |= DISPOSE_SENT; sendEvent (SWT.Dispose); } + releaseChildren (destroy); if ((state & RELEASED) == 0) { state |= RELEASED; if (destroy) { @@ -937,6 +938,9 @@ void releaseChildren (boolean destroy) { } } +void releaseChildren (boolean destroy) { +} + void releaseHandle () { handle = 0; state |= DISPOSED; |