Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Niefer2009-04-16 18:27:42 +0000
committerAndrew Niefer2009-04-16 18:27:42 +0000
commitd1d3ca39278200b7e7bf8de0c9affa40f9b79347 (patch)
tree39e164892d17d6bf45c4c00170cc72ce41288400
parent9b4085f60584465b3c2c5cd91d964fdd147edb56 (diff)
downloadrt.equinox.framework-d1d3ca39278200b7e7bf8de0c9affa40f9b79347.tar.gz
rt.equinox.framework-d1d3ca39278200b7e7bf8de0c9affa40f9b79347.tar.xz
rt.equinox.framework-d1d3ca39278200b7e7bf8de0c9affa40f9b79347.zip
bug 264615 - -nosplash causes crash on solarisR34x_v20090416
-rw-r--r--bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h1
-rw-r--r--bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c3
-rw-r--r--bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c2
-rw-r--r--bundles/org.eclipse.equinox.executable/library/make_version.mak2
4 files changed, 6 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h
index b443196f9..280e6476b 100644
--- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h
+++ b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h
@@ -15,6 +15,7 @@
#include <gdk-pixbuf/gdk-pixbuf.h>
struct GTK_PTRS {
+ short not_initialized;
GtkObject* (*gtk_adjustment_new) (gdouble, gdouble, gdouble, gdouble, gdouble, gdouble);
void (*gtk_box_set_child_packing)(GtkBox*, GtkWidget*, gboolean, gboolean, guint, GtkPackType);
void (*gtk_container_add) (GtkContainer*, GtkWidget*);
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c
index ba2c6e9f8..a6dfe1727 100644
--- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c
+++ b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c
@@ -34,6 +34,9 @@ gboolean gtkInitialized = FALSE;
so provide a definition here and hook it up
*/
GString* g_string_insert_c (GString *string, gssize pos, gchar c) {
+ /* see bug 264615, we can get here without having initialized the gtk pointers */
+ if (gtk.not_initialized)
+ loadGtk();
return gtk.g_string_insert_c(string, pos, c);
}
#endif
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c
index 8f56e0e86..bb09a2792 100644
--- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c
+++ b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c
@@ -14,7 +14,7 @@
#include <dlfcn.h>
#include <string.h>
-struct GTK_PTRS gtk;
+struct GTK_PTRS gtk = { 1 }; /* initialize the first field "not_initialized" so we can tell when we've loaded the pointers */
/* tables to help initialize the function pointers */
/* functions from libgtk-x11-2.0 */
diff --git a/bundles/org.eclipse.equinox.executable/library/make_version.mak b/bundles/org.eclipse.equinox.executable/library/make_version.mak
index ba0fd5aee..1c5194391 100644
--- a/bundles/org.eclipse.equinox.executable/library/make_version.mak
+++ b/bundles/org.eclipse.equinox.executable/library/make_version.mak
@@ -10,5 +10,5 @@
#*******************************************************************************
maj_ver=1
-min_ver=116
+min_ver=117
LIB_VERSION = $(maj_ver)$(min_ver)

Back to the top