In building a recent Windows version of Xournal under the latest GTK
win32, I have run into difficulties rendering cursors due to the
following errors:
(xournal.exe:3512): Gdk-WARNING **: gdkdrawable-win32.c:711: MaskBlt
failed: The operation completed successfully.
(xournal.exe:3512): Gdk-WARNING **: gdkdrawable-win32.c:714:
SelectObject failed: The operation completed successfully.
The code that renders cursors uses a GdkGC to draw a bitmapped cursor
onto a pixmap like so:
gdk_gc_set_stipple(gc, source);
gdk_gc_set_clip_mask(gc, mask);
gdk_draw_rectangle(rgb_pixmap, gc, TRUE, 0, 0, width, height);
The errors above appear during a call to gdk_draw_rectangle.
The code I am working with was last known to compile (with win32)
under GTK 2.16.5
Incidentally, that code itself is a workaround to deal with GTK bug
541377 (
https://bugzilla.gnome.org/show_bug.cgi?id=541377).
I have no previous experience dealing with cursors in GTK, so I am
stuck at the moment. Could someone point me to a way of rendering cursors from bitmaps that would work under Win32? The docs for most of the GdkGC functions say that they are deprecated in favor of Cairo; is there a way to use some Cairo functions to do the cursor rendering?
--Leo