The calls were segv'ing until I added the gdk_rgb_init call. I don't
see that anywhere in the pygtk sources - how was the gdk_rgb_ calls
tested?  Relying on some GTK internals to call gdk_rgb_init (curious,
not flame baiting :)

Cheers,
Jesper



 2000-03-18  Jesper Skov  <[EMAIL PROTECTED]>

        * gtk.py:
        * gtkmodule.c: 
        Added gdk_rgb_init.

Index: gtk.py
===================================================================
RCS file: /cvs/gnome/gnome-python/pygtk/gtk.py,v
retrieving revision 1.41
diff -u -5 -r1.41 gtk.py
--- gtk.py      2000/03/03 08:41:57     1.41
+++ gtk.py      2000/03/18 19:49:28
@@ -2705,10 +2705,13 @@
        _gtk.gdk_draw_segments(drawable, gc, segs)
 def draw_lines(drawable, gc, points):
        _gtk.gdk_draw_lines(drawable, gc, points)
 
 # these are the gdkrgb functions
+def gdk_rgb_init():
+       _gtk.gdk_rgb_init()
+
 def draw_rgb_image(drawable, gc, x, y, width, height,
                   dither, buffer, rowstride):
        _gtk.gdk_draw_rgb_image(drawable, gc, x, y, width, height,
                                dither, buffer, rowstride)
 def draw_rgb_32_image(drawable, gc, x, y, width, height,
Index: gtkmodule.c
===================================================================
RCS file: /cvs/gnome/gnome-python/pygtk/gtkmodule.c,v
retrieving revision 1.50
diff -u -5 -r1.50 gtkmodule.c
--- gtkmodule.c 2000/03/13 09:14:23     1.50
+++ gtkmodule.c 2000/03/18 19:49:43
@@ -6257,10 +6257,18 @@
     gtk_widget_pop_visual();
     Py_INCREF(Py_None);
     return Py_None;
 }
 
+static PyObject *_wrap_gdk_rgb_init(PyObject *self, PyObject *args) {
+    if (!PyArg_ParseTuple(args, ":gdk_rgb_init"))
+       return NULL;
+    gdk_rgb_init();
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+
 static PyObject *_wrap_gdk_draw_rgb_image(PyObject *self, PyObject *args) {
     PyObject *drawable, *gc, *py_dith;
     gint x, y, width, height, rowstride = -1, len;
     GdkRgbDither dith;
     guchar *rgb_buf;
@@ -6519,10 +6527,11 @@
     { "gdk_window_foreign_new", _wrap_gdk_window_foreign_new, 1 },
     { "gdk_get_root_win", _wrap_gdk_get_root_win, 1 },
 #endif
     { "gtk_rgb_push_visual", _wrap_gtk_rgb_push_visual, 1 },
     { "gtk_pop_visual", _wrap_gtk_pop_visual, 1 },
+    { "gdk_rgb_init", _wrap_gdk_rgb_init, 1 },
     { "gdk_draw_rgb_image", _wrap_gdk_draw_rgb_image, 1 },
     { "gdk_draw_rgb_32_image", _wrap_gdk_draw_rgb_32_image, 1 },
     { "gdk_draw_gray_image", _wrap_gdk_draw_gray_image, 1 },
 #ifdef HAVE_NUMPY
     { "gdk_draw_array", _wrap_gdk_draw_array, 1 },


To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]

Reply via email to