GNOME Bugzilla – Bug 631844
auto-scroller: needs porting from deprecated GdkPixmap use
Last modified: 2013-05-27 16:09:54 UTC
auto-scroller is using deprecated Gdk stuff to draw it's "wheel": GtkWidget *image; GdkPixbuf *pixbuf; GdkPixmap *pixmap = NULL; GdkBitmap *mask = NULL; /* Construct the popup */ priv->popup = gtk_window_new (GTK_WINDOW_POPUP); pixbuf = gdk_pixbuf_new_from_xpm_data (autoscroll_xpm); g_return_if_fail (pixbuf != NULL); gdk_pixbuf_render_pixmap_and_mask (pixbuf, &pixmap, &mask, 128); g_object_unref (pixbuf); g_return_if_fail (pixmap != NULL && mask != NULL); image = gtk_image_new_from_pixmap (pixmap, mask); gtk_container_add (GTK_CONTAINER (priv->popup), image); gtk_widget_show_all (image); gtk_widget_realize (priv->popup); gtk_widget_shape_combine_mask (priv->popup, mask, 0, 0); g_object_unref (pixmap); g_object_unref (mask);
[Not blocking GNOME3, removing GNOME target flag]
It prevents building epiphany-extentions on GNOME 3.0: ephy-auto-scroller.c: In function 'ephy_auto_scroller_init': ephy-auto-scroller.c:448:2: error: unknown type name 'GdkPixmap' ephy-auto-scroller.c:449:2: error: unknown type name 'GdkBitmap' ephy-auto-scroller.c:464:2: warning: implicit declaration of function 'gdk_pixbuf_render_pixmap_and_mask' [-Wimplicit-function-declaration] ephy-auto-scroller.c:464:2: warning: nested extern declaration of 'gdk_pixbuf_render_pixmap_and_mask' [-Wnested-externs] ephy-auto-scroller.c:468:2: warning: implicit declaration of function 'gtk_image_new_from_pixmap' [-Wimplicit-function-declaration] ephy-auto-scroller.c:468:2: warning: nested extern declaration of 'gtk_image_new_from_pixmap' [-Wnested-externs] ephy-auto-scroller.c:468:8: warning: assignment makes pointer from integer without a cast [enabled by default] ephy-auto-scroller.c:473:2: warning: implicit declaration of function 'gtk_widget_shape_combine_mask' [-Wimplicit-function-declaration] ephy-auto-scroller.c:473:2: warning: nested extern declaration of 'gtk_widget_shape_combine_mask' [-Wnested-externs]
That's why it's not in DEFAULT_EXTENSIONS in configure.ac; don't force all extensions.
Created attachment 191522 [details] [review] Skips GdkPixmap and uses cario_region_t
I have ported it to not use GdkPixmap any more. Works here. I still get compile time warnings about gdk_keyboard_grab etc. being implicitly defined. I guess these functions should be removed as well.
Created attachment 191523 [details] [review] gdk grab function patch And here a patch that removes the old gdk_*_grab functions. Briefly tested, works so far.
Created attachment 191525 [details] [review] Use GDK_CROSS for grab pointer And this cosmetic patch selects a maybe better pointer for auto scrolling. GDK_FLEUR seems to be mapped to a hand now, which is a bit unintuitive.
According to its developer, epiphany-extensions is not under active development anymore. (For reference: https://mail.gnome.org/archives/gnome-i18n/2013-May/msg00035.html and bug 700924.) It is unlikely that there will be any further active development. Closing this report as WONTFIX as part of Bugzilla Housekeeping - Please feel free to reopen this bug report in the future if anyone takes the responsibility for active development again.