summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-visualization/gfsview/files/gtk-client-events-handling.patch')
-rw-r--r--sci-visualization/gfsview/files/gtk-client-events-handling.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/sci-visualization/gfsview/files/gtk-client-events-handling.patch b/sci-visualization/gfsview/files/gtk-client-events-handling.patch
new file mode 100644
index 000000000000..f6f9ff7c8099
--- /dev/null
+++ b/sci-visualization/gfsview/files/gtk-client-events-handling.patch
@@ -0,0 +1,35 @@
+diff -Naur gfsview-0.4/view/gfkgl.c gfsview-0.4-new/view/gfkgl.c
+--- gfsview-0.4/view/gfkgl.c 2005-10-11 22:55:13.000000000 +0000
++++ gfsview-0.4-new/view/gfkgl.c 2006-02-06 20:07:45.000000000 +0000
+@@ -2376,16 +2376,21 @@
+
+ static gboolean client_event (GtkWidget * view, GdkEventClient * msg)
+ {
+- FILE * fp;
+- GfsGl2PSParams * p;
+-
+- GFK_GL_UNPACK_MSG (msg, fp, p);
+- gfs_gl2ps (p, fp, "", view);
+- if (fp == stdout || fp == stderr)
+- fflush (fp);
+- else
+- fclose (fp);
+- g_free (p);
++ gchar * name = gdk_atom_name (msg->message_type);
++
++ if (!strcmp (name, "GFS_SAVE_EVENT")) {
++ FILE * fp;
++ GfsGl2PSParams * p;
++
++ GFK_GL_UNPACK_MSG (msg, fp, p);
++ gfs_gl2ps (p, fp, "", view);
++ if (fp == stdout || fp == stderr)
++ fflush (fp);
++ else
++ fclose (fp);
++ g_free (p);
++ }
++ g_free (name);
+ return TRUE;
+ }
+