summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
diff options
context:
space:
mode:
authorArun Thondapu <arunkumar.thondapu@in.ibm.com>2011-12-05 18:15:51 -0500
committerBogdan Gheorghe <gheorghe@ca.ibm.com>2011-12-05 18:15:51 -0500
commit5c25a7e7d210c3ae9b3cfda453055f4312507ebd (patch)
tree604ecd3025b149f00d6d1163a904d45a592fc715 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
parentd4dc76f502521d658d8db0cfa2a42de71bc22567 (diff)
downloadeclipse.platform.swt-5c25a7e7d210c3ae9b3cfda453055f4312507ebd.tar.gz
eclipse.platform.swt-5c25a7e7d210c3ae9b3cfda453055f4312507ebd.tar.xz
eclipse.platform.swt-5c25a7e7d210c3ae9b3cfda453055f4312507ebd.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.java4
1 files changed, 4 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..cfa542dc20 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
@@ -229,6 +229,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 +245,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 +258,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 +271,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);
}