After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 606883 - Make eog GSEAL-compatible
Make eog GSEAL-compatible
Status: RESOLVED FIXED
Product: eog
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: GNOME3.0
Assigned To: EOG Maintainers
EOG Maintainers
Depends on: 69872
Blocks: 585391
 
 
Reported: 2010-01-13 17:54 UTC by Felix Riemann
Modified: 2010-05-13 21:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch for libegg code and EogWindow (11.90 KB, patch)
2010-04-14 15:26 UTC, André Klapper
committed Details | Review

Description Felix Riemann 2010-01-13 17:54:50 UTC
This is just a tracker bug to track what's left todo for eog being able to compile with GSEAL-enabled GLib/GTK+ libraries. See http://live.gnome.org/GnomeGoals/UseGseal for details.

EogWindow:
eog-window.c: In function 'eog_window_obtain_desired_size':
eog-window.c:1381: error: 'GtkObject' has no member named 'flags'
eog-window.c:1385: error: 'GtkWidget' has no member named 'allocation'
eog-window.c:1386: error: 'GtkWidget' has no member named 'allocation'
eog-window.c:1388: error: 'GtkObject' has no member named 'flags'
eog-window.c:1392: error: 'GtkWidget' has no member named 'allocation'
eog-window.c:1393: error: 'GtkWidget' has no member named 'allocation'
eog-window.c:1399: error: 'GtkWidget' has no member named 'window'
eog-window.c: In function 'eog_window_cmd_edit_toolbar':
eog-window.c:2648: error: 'GtkDialog' has no member named 'vbox'
eog-window.c:2661: error: 'GtkDialog' has no member named 'vbox'
eog-window.c: In function 'eog_window_cmd_show_hide_bar':
eog-window.c:2794: error: 'GtkObject' has no member named 'flags'
eog-window.c:2804: error: 'GtkObject' has no member named 'flags'
eog-window.c:2810: error: 'GtkObject' has no member named 'flags'
eog-window.c: In function 'eog_window_drag_data_received':
eog-window.c:4063: error: 'GtkSelectionData' has no member named 'target'
eog-window.c:4069: error: 'GtkSelectionData' has no member named 'data'
eog-window.c: In function 'eog_window_key_press':
eog-window.c:4781: error: 'GtkContainer' has no member named 'focus_child'
eog-window.c:4824: error: 'GtkContainer' has no member named 'focus_child'
eog-window.c:4855: error: 'GtkContainer' has no member named 'focus_child'
eog-window.c:4912: error: 'GtkContainer' has no member named 'focus_child'
eog-window.c:4913: error: 'GtkObject' has no member named 'flags'

EogSidebar:
eog-sidebar.c: In function 'eog_sidebar_menu_position_under':
eog-sidebar.c:243: error: 'GtkWidget' has no member named 'allocation'
eog-sidebar.c:244: error: 'GtkWidget' has no member named 'allocation'
eog-sidebar.c:244: error: 'GtkWidget' has no member named 'allocation'
eog-sidebar.c: In function 'eog_sidebar_select_button_press_cb':
eog-sidebar.c:260: error: 'GtkWidget' has no member named 'allocation'

EogThumbNav

eog-thumb-nav.c: In function 'eog_thumb_nav_scroll_event':
eog-thumb-nav.c:91: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:91: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:91: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:93: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:93: error: 'GtkAdjustment' has no member named 'upper'
eog-thumb-nav.c:93: error: 'GtkAdjustment' has no member named 'page_size'
eog-thumb-nav.c:93: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:93: error: 'GtkAdjustment' has no member named 'upper'
eog-thumb-nav.c:93: error: 'GtkAdjustment' has no member named 'page_size'
eog-thumb-nav.c:93: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c: In function 'eog_thumb_nav_adj_changed':
eog-thumb-nav.c:112: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:112: error: 'GtkAdjustment' has no member named 'upper'
eog-thumb-nav.c:112: error: 'GtkAdjustment' has no member named 'page_size'
eog-thumb-nav.c: In function 'eog_thumb_nav_adj_value_changed':
eog-thumb-nav.c:126: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:129: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:129: error: 'GtkAdjustment' has no member named 'upper'
eog-thumb-nav.c:129: error: 'GtkAdjustment' has no member named 'page_size'
eog-thumb-nav.c: In function 'eog_thumb_nav_scroll_step':
eog-thumb-nav.c:150: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:151: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:151: error: 'GtkAdjustment' has no member named 'upper'
eog-thumb-nav.c:151: error: 'GtkAdjustment' has no member named 'page_size'
eog-thumb-nav.c:152: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:157: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c:157: error: 'GtkAdjustment' has no member named 'upper'
eog-thumb-nav.c:157: error: 'GtkAdjustment' has no member named 'page_size'
eog-thumb-nav.c:159: error: 'GtkAdjustment' has no member named 'value'
eog-thumb-nav.c: In function 'eog_thumb_nav_init':
eog-thumb-nav.c:360: error: 'GtkScrolledWindow' has no member named 'hscrollbar'

EogScrollView:
eog-scroll-view.c: In function 'update_scrollbar_values':
eog-scroll-view.c:262: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:266: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:267: error: 'GtkAdjustment' has no member named 'page_increment'
eog-scroll-view.c:268: error: 'GtkAdjustment' has no member named 'step_increment'
eog-scroll-view.c:271: error: 'GtkAdjustment' has no member named 'lower'
eog-scroll-view.c:272: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:273: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:273: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:273: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:273: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:274: error: 'GtkAdjustment' has no member named 'value'
eog-scroll-view.c:275: error: 'GtkAdjustment' has no member named 'value'
eog-scroll-view.c:291: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:292: error: 'GtkAdjustment' has no member named 'page_increment'
eog-scroll-view.c:293: error: 'GtkAdjustment' has no member named 'step_increment'
eog-scroll-view.c:295: error: 'GtkAdjustment' has no member named 'lower'
eog-scroll-view.c:296: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:297: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:297: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:297: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:297: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:299: error: 'GtkAdjustment' has no member named 'value'
eog-scroll-view.c:300: error: 'GtkAdjustment' has no member named 'value'
eog-scroll-view.c: In function 'check_scrollbar_visibility':
eog-scroll-view.c:383: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:384: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c: In function 'paint_rectangle':
eog-scroll-view.c:561: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:562: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c: In function 'request_paint_area':
eog-scroll-view.c:803: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:803: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:804: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:804: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c: In function 'scroll_to':
eog-scroll-view.c:865: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:865: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:865: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:865: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:871: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:871: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:871: error: 'GtkAdjustment' has no member named 'upper'
eog-scroll-view.c:871: error: 'GtkAdjustment' has no member named 'page_size'
eog-scroll-view.c:885: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:886: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:936: error: 'GtkAdjustment' has no member named 'value'
eog-scroll-view.c:937: error: 'GtkAdjustment' has no member named 'value'
eog-scroll-view.c: In function 'adjustment_changed_cb':
eog-scroll-view.c:974: error: 'GtkAdjustment' has no member named 'value'
eog-scroll-view.c:974: error: 'GtkAdjustment' has no member named 'value'
eog-scroll-view.c: In function 'set_zoom':
eog-scroll-view.c:1050: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:1051: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c: In function 'set_zoom_fit':
eog-scroll-view.c:1100: error: 'GtkObject' has no member named 'flags'
eog-scroll-view.c:1106: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:1107: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c: In function 'display_key_press_event':
eog-scroll-view.c:1152: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c:1153: error: 'GtkWidget' has no member named 'allocation'
eog-scroll-view.c: In function 'eog_scroll_view_scroll_event':
eog-scroll-view.c:1346: error: 'GtkAdjustment' has no member named 'page_increment'
eog-scroll-view.c:1347: error: 'GtkAdjustment' has no member named 'page_increment'

EogPrintPreview:
eog-print-preview.c: In function 'get_current_image_coordinates':
eog-print-preview.c:593: error: 'GtkWidget' has no member named 'allocation'
eog-print-preview.c:594: error: 'GtkWidget' has no member named 'allocation'
eog-print-preview.c: In function 'create_image_scaled':
eog-print-preview.c:638: error: 'GtkWidget' has no member named 'allocation'
eog-print-preview.c:639: error: 'GtkWidget' has no member named 'allocation'
eog-print-preview.c: In function 'motion_notify_event_cb':
eog-print-preview.c:920: error: 'GtkWidget' has no member named 'allocation'
eog-print-preview.c:921: error: 'GtkWidget' has no member named 'allocation'
eog-print-preview.c: In function 'eog_print_preview_draw':
eog-print-preview.c:1005: error: 'GtkWidget' has no member named 'allocation'
eog-print-preview.c:1006: error: 'GtkWidget' has no member named 'allocation'
eog-print-preview.c: In function 'update_relative_sizes':
eog-print-preview.c:1078: error: 'GtkWidget' has no member named 'allocation'

EogCloseConfirmationDialog:
eog-close-confirmation-dialog.c: In function 'eog_close_confirmation_dialog_init':
eog-close-confirmation-dialog.c:181: error: 'GtkDialog' has no member named 'vbox'
eog-close-confirmation-dialog.c: In function 'eog_close_confirmation_dialog_new':
eog-close-confirmation-dialog.c:336: error: 'GtkWindow' has no member named 'group'
eog-close-confirmation-dialog.c: In function 'build_single_img_dialog':
eog-close-confirmation-dialog.c:440: error: 'GtkDialog' has no member named 'vbox'
eog-close-confirmation-dialog.c: In function 'build_multiple_imgs_dialog':
eog-close-confirmation-dialog.c:585: error: 'GtkDialog' has no member named 'vbox'

EogPluginManager:
eog-plugin-manager.c: In function 'menu_position_under_widget':
eog-plugin-manager.c:571: error: 'GtkWidget' has no member named 'allocation'
eog-plugin-manager.c:571: error: 'GtkWidget' has no member named 'allocation'
eog-plugin-manager.c:573: error: 'GtkWidget' has no member named 'allocation'
eog-plugin-manager.c:576: error: 'GtkWidget' has no member named 'allocation'
eog-plugin-manager.c:576: error: 'GtkWidget' has no member named 'allocation'

The toolbar editor will need porting as well, but as it's imported from libegg it might be already ported in another project.

Also, we will need at least an replacement for GTK_WIDGET_REALIZED in GTK.
Comment 1 Felix Riemann 2010-01-13 21:19:34 UTC
commit ac6f518e1870af98dc47389d695f7773debe3dda
Author: Felix Riemann <friemann@gnome.org>
Date:   Wed Jan 13 22:15:14 2010 +0100

    Make EogPrintPreview GSEAL-compatible

commit f0837c4a76e5c95a140776e4421b3e094c306024
Author: Felix Riemann <friemann@gnome.org>
Date:   Wed Jan 13 19:53:48 2010 +0100

    Make EogSidebar GSEAL-compatible
Comment 2 Felix Riemann 2010-01-17 14:25:26 UTC
commit 35e354e9530e1915c0bca0653af378788c2369a7
Author: Felix Riemann <>
Date:   Sun Jan 17 13:58:55 2010 +0100

    Make EogCloseConfirmationDialog GSEAL-compatible
Comment 3 Felix Riemann 2010-01-29 21:52:01 UTC
commit b6aa6dd2209b09850a03bde1765e059b432eb6ed
Author: Felix Riemann <>
Date:   Fri Jan 29 21:37:54 2010 +0100

    Make EogWindow GSEAL-compatible as far as possible
    
    There are some GTK_WIDGET_REALIZED calls left for which there's no
    replacement yet in GTK+.

commit d7a07bd0985e9540f869ebdfc6b4a950828c1df4
Author: Felix Riemann <>
Date:   Fri Jan 29 21:15:14 2010 +0100

    Make EogPluginManager GSEAL-compatible
Comment 4 Felix Riemann 2010-03-28 18:10:11 UTC
Setting Milestone field as this is a requirement form GNOME 2.32/3.0 per http://live.gnome.org/TwoPointThirtyone/
Comment 5 Frederic Peters 2010-04-11 06:57:05 UTC
FWIW the copy of egg toolbar editor in epiphany has been updated to use accessor functions.
Comment 6 Felix Riemann 2010-04-11 13:49:21 UTC
(In reply to comment #5)
> FWIW the copy of egg toolbar editor in epiphany has been updated to use
> accessor functions.

Good to know, thanks.
Comment 7 André Klapper 2010-04-14 15:26:53 UTC
Created attachment 158725 [details] [review]
Patch for libegg code and EogWindow

Bumps GTK requirement to 2.18 (some 2.20 code in the patch is ifdef'ed).
Feel free to commit if you're fine with it.
Comment 8 Felix Riemann 2010-05-03 19:56:02 UTC
Review of attachment 158725 [details] [review]:

Thanks, Andre. Looks good.

commit f10411901ad9b8d3a87f7e8ef4312d016a76407d
Author: Andre Klapper <>
Date:   Wed Apr 14 17:24:49 2010 +0200

    Make libegg code and EogWindow GSEAL-compatible. See bug 606883.

I'll look into syncing the libegg part with the epiphany copy later.

::: cut-n-paste/toolbar-editor/egg-editable-toolbar.c
@@ +1745,3 @@
 
+  tmp_window = gtk_widget_get_window (widget);
+  gtk_widget_set_window (widget, pixmap);

This didn't work correctly. It threw warnings and rendered incorrectly.
I modified the whole separator image generation to use an GtkOffscreenWindow instead.
Comment 9 Felix Riemann 2010-05-09 20:20:32 UTC
Just pushed:

commit 15d23daf9b43d9cb632033518ec88458b26d61e8
Author: Felix Riemann <>
Date:   Sun May 9 22:16:12 2010 +0200

    Make EogPluginEngine GSEAL-compatible
    
    Has a workaround for the different behaviour of gtk_window_get_group()
    that makes sure that the configure dialog and its parent share a window
    group of their own as before. Not sure if it's needed.
    Part of bug 606883.

commit d53d169824923c4851f8b2abac520be10846415e
Author: Felix Riemann <>
Date:   Sun May 9 21:19:25 2010 +0200

    Make EogThumbNav GSEAL-compatible
    
    Part of bug 606883.

This leaves EogScrollView which is a bit tricky.
Comment 10 Felix Riemann 2010-05-13 19:42:32 UTC
Just finished EogScrollView

commit 5078ea5e0a38c898c26f35fa8b22568f19ca72c6
Author: Felix Riemann <>
Date:   Thu May 13 21:37:41 2010 +0200

    Finish making EogScrollView GSEAL-compatible.
    
    Eog should be completely GSEAL-compatible now.
    Completes bug 606883.

commit 7dd81d8d4b1a67a89cb33880df48a63a464db4dd
Author: Felix Riemann <>
Date:   Thu May 13 21:22:45 2010 +0200

    Make the easy parts of EogScrollView GSEAL-compatible
    
    Part of bug 606883.

We should be completely GSEAL-compatible (at least with GTK+ 2.20.1) now. :)

This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.