Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Williams2018-05-01 19:17:44 +0000
committerEric Williams2018-05-01 20:34:56 +0000
commit574f2721edfda6c62b9b58519cb07216753dc055 (patch)
tree8eca56fd521eab4d7f9431e343638305850a99e2
parent99125e810016a4062b588da674c59c13470abc05 (diff)
downloadeclipse.platform.swt-574f2721edfda6c62b9b58519cb07216753dc055.tar.gz
eclipse.platform.swt-574f2721edfda6c62b9b58519cb07216753dc055.tar.xz
eclipse.platform.swt-574f2721edfda6c62b9b58519cb07216753dc055.zip
Bug 533995: [GTK3] Native memory leak in gc.setBackground/setForeground
Free all strings returned by gtk_css_provider_to_string() to fix a memory leak. Change-Id: I94e45c2457bfbcf6970038f61926830c7d480f76 Signed-off-by: Eric Williams <ericwill@redhat.com>
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
index 0f76b1af4b..a5e08f6653 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
@@ -1942,6 +1942,7 @@ String gtk_css_default_theme_values (int swt) {
}
byte [] themeBuffer = new byte [length];
C.memmove (themeBuffer, str, length);
+ OS.g_free(str);
String cssOutput = new String (Converter.mbcsToWcs (themeBuffer));
// Parse the theme values based on the corresponding SWT value
@@ -2210,6 +2211,7 @@ GdkRGBA gtk_css_parse_background (long /*int*/ provider, String precise) {
int length = C.strlen (str);
byte [] buffer = new byte [length];
C.memmove (buffer, str, length);
+ OS.g_free(str);
String cssOutput = new String (Converter.mbcsToWcs (buffer));
String searched = "";
/*
@@ -2274,6 +2276,7 @@ GdkRGBA gtk_css_parse_foreground (long /*int*/ provider, String precise) {
int length = C.strlen (str);
byte [] buffer = new byte [length];
C.memmove (buffer, str, length);
+ OS.g_free(str);
String cssOutput = new String (Converter.mbcsToWcs (buffer));
String searched = "";
/*

Back to the top