summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
diff options
context:
space:
mode:
authorArun Kumar Thondapu <arunkumar.thondapu@in.ibm.com>2011-12-05 16:56:46 -0500
committerBogdan Gheorghe <gheorghe@ca.ibm.com>2011-12-05 16:56:46 -0500
commite0e004ceb02d4870eb82258243938757bd2367dc (patch)
treef87c77ac799d303d3d0a77a9236d294cf9ceae96 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
parentb61c9beda825acba89ca1905bc4965e525ec779b (diff)
downloadeclipse.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.java5
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);
}