diff options
author | Arun Kumar Thondapu <arunkumar.thondapu@in.ibm.com> | 2011-12-05 16:56:46 -0500 |
---|---|---|
committer | Bogdan Gheorghe <gheorghe@ca.ibm.com> | 2011-12-05 16:56:46 -0500 |
commit | e0e004ceb02d4870eb82258243938757bd2367dc (patch) | |
tree | f87c77ac799d303d3d0a77a9236d294cf9ceae96 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java | |
parent | b61c9beda825acba89ca1905bc4965e525ec779b (diff) | |
download | eclipse.platform.swt-e0e004ceb02d4870eb82258243938757bd2367dc.tar.gz eclipse.platform.swt-e0e004ceb02d4870eb82258243938757bd2367dc.tar.xz eclipse.platform.swt-e0e004ceb02d4870eb82258243938757bd2367dc.zip |
364593 - Memory leak in Table when changing cell background colors
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java index c40dea482d..68d8a81a5f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java @@ -217,6 +217,7 @@ Color _getBackground () { if (ptr [0] == 0) return parent.getBackground (); GdkColor gdkColor = new GdkColor (); OS.memmove (gdkColor, ptr [0], GdkColor.sizeof); + OS.gdk_color_free (ptr [0]); return Color.gtk_new (display, gdkColor); } @@ -229,6 +230,7 @@ Color _getBackground (int index) { if (ptr [0] == 0) return _getBackground (); GdkColor gdkColor = new GdkColor (); OS.memmove (gdkColor, ptr [0], GdkColor.sizeof); + OS.gdk_color_free (ptr [0]); return Color.gtk_new (display, gdkColor); } @@ -244,6 +246,7 @@ Color _getForeground () { if (ptr [0] == 0) return parent.getForeground (); GdkColor gdkColor = new GdkColor (); OS.memmove (gdkColor, ptr [0], GdkColor.sizeof); + OS.gdk_color_free (ptr [0]); return Color.gtk_new (display, gdkColor); } @@ -256,6 +259,7 @@ Color _getForeground (int index) { if (ptr [0] == 0) return _getForeground (); GdkColor gdkColor = new GdkColor (); OS.memmove (gdkColor, ptr [0], GdkColor.sizeof); + OS.gdk_color_free (ptr [0]); return Color.gtk_new (display, gdkColor); } @@ -268,6 +272,7 @@ Image _getImage (int index) { if (ptr [0] == 0) return null; ImageList imageList = parent.imageList; int imageIndex = imageList.indexOf (ptr [0]); + OS.g_object_unref (ptr [0]); if (imageIndex == -1) return null; return imageList.get (imageIndex); } |