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":
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_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_shape_combine_mask (priv->popup, mask, 0, 0);
[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.