GNOME Bugzilla – Bug 612551
Does not compile with -DGSEAL_ENABLE
Last modified: 2010-06-27 08:52:27 UTC
This module does not build with -DGSEAL_ENABLE. See http://live.gnome.org/GnomeGoals/UseGseal . Note that maybe this report cannot be fixed yet, as GTK+ still misses some accessor functions (see bug 588389, bug 597610) needed for sealing. Also see http://live.gnome.org/GTK%2B/3.0/PendingSealings for current status. The jhbuild output posted here of course only lists the very first error when trying to compile. gs-window-x11.c: In function ‘gs_window_override_user_time’: gs-window-x11.c:192: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c:195: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘widget_clear_all_children’: gs-window-x11.c:266: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘gs_window_set_background_pixmap’: gs-window-x11.c:286: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘gs_window_clear_to_background_pixmap’: gs-window-x11.c:300: error: ‘GtkObject’ has no member named ‘flags’ gs-window-x11.c:311: error: ‘GtkWidget’ has no member named ‘style’ gs-window-x11.c:314: error: ‘GtkWidget’ has no member named ‘style’ gs-window-x11.c:314: error: ‘GtkWidget’ has no member named ‘style’ gs-window-x11.c:328: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c:333: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘clear_widget’: gs-window-x11.c:346: error: ‘GtkObject’ has no member named ‘flags’ gs-window-x11.c:353: error: ‘GtkWidget’ has no member named ‘style’ gs-window-x11.c:353: error: ‘GtkWidget’ has no member named ‘style’ gs-window-x11.c:358: error: ‘GtkWidget’ has no member named ‘style’ gs-window-x11.c:361: error: ‘GtkWidget’ has no member named ‘style’ gs-window-x11.c:361: error: ‘GtkWidget’ has no member named ‘style’ gs-window-x11.c:371: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c:373: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c:378: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘get_outside_region’: gs-window-x11.c:405: error: ‘GtkWindow’ has no member named ‘screen’ gs-window-x11.c: In function ‘update_geometry’: gs-window-x11.c:422: error: ‘GtkWindow’ has no member named ‘screen’ gs-window-x11.c: In function ‘gs_window_move_resize_window’: gs-window-x11.c:469: error: ‘GtkObject’ has no member named ‘flags’ gs-window-x11.c:479: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c:485: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c:489: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘watchdog_timer’: gs-window-x11.c:690: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘gs_window_raise’: gs-window-x11.c:751: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘unshape_window’: gs-window-x11.c:776: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘window_select_shape_events’: gs-window-x11.c:872: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘gs_window_real_show’: gs-window-x11.c:891: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘gs_window_get_gdk_window’: gs-window-x11.c:1036: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘spawn_on_window’: gs-window-x11.c:1117: error: ‘GtkWindow’ has no member named ‘screen’ gs-window-x11.c: In function ‘lock_command_watch’: gs-window-x11.c:1609: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘popup_dialog_idle’: gs-window-x11.c:1690: error: ‘GtkWidget’ has no member named ‘window’ gs-window-x11.c: In function ‘gs_window_request_unlock’: gs-window-x11.c:1719: error: ‘GtkObject’ has no member named ‘flags’ gs-window-x11.c: In function ‘gs_window_get_screen’: gs-window-x11.c:1800: error: ‘GtkWindow’ has no member named ‘screen’ gs-window-x11.c: In function ‘maybe_handle_activity’: gs-window-x11.c:2027: error: ‘GtkObject’ has no member named ‘flags’ gs-window-x11.c:2027: error: ‘GtkObject’ has no member named ‘flags’ gs-window-x11.c: In function ‘gs_window_real_size_request’: gs-window-x11.c:2131: error: ‘GtkBin’ has no member named ‘child’ gs-window-x11.c:2131: error: ‘GtkBin’ has no member named ‘child’ gs-window-x11.c:2132: error: ‘GtkBin’ has no member named ‘child’ gs-window-x11.c:2142: error: ‘GtkObject’ has no member named ‘flags’ make[3]: *** [gs-window-x11.o] Error 1 make[3]: Leaving directory `/home/andre/svn-gnome/gnome-screensaver/src' make[2]: *** [all] Error 2
Created attachment 156736 [details] [review] Makes gnome-screensaver GSeal-proof. This patch fixes this, but I'm not sure about some parts, especially the check_gamma_extension function() located in gs-fade.c. It wouldn't compile even before I altered it, please review.
Review of attachment 156736 [details] [review]: Thanks for the patch! Overall looks pretty good. A few minor comments that need to be addressed. ::: src/copy-theme-dialog.c @@ +202,2 @@ /* GUI settings */ + GtkWidget *content_area; The style of the code doesn't use C99 style declarations. ::: src/gs-fade.c @@ +442,2 @@ screen_priv->fade_type = FADE_TYPE_NONE; +#endif This change doesn't seem related to sealing and looks wrong to me. ::: src/gs-grab-x11.c @@ +542,2 @@ screen = gtk_invisible_get_screen (GTK_INVISIBLE (grab->priv->invisible)); + res = gs_grab_grab_window (grab, gtk_widget_get_window(grab->priv->invisible), screen, hide_cursor); The style of the code is to use spaces before (. ::: src/gs-lock-plug.c @@ +1294,3 @@ button = gtk_button_new_from_stock (button_text); + gtk_widget_set_can_focus(button, TRUE); Should probably be set_can_default. And make sure to have a space before the (. ::: src/gs-window-x11.c @@ +190,3 @@ * openings. Causes roundtrip to server. Lame. */ + ev_time = gdk_x11_get_server_time (gtk_widget_get_window( GTK_WIDGET (window))); Space should go before the ( not after. @@ +420,3 @@ outside_region = get_outside_region (window); + gdk_screen_get_monitor_geometry (gtk_window_get_screen( GTK_WINDOW (window)), spacing again. @@ +1116,2 @@ error = NULL; + result = gdk_spawn_on_screen_with_pipes (gtk_window_get_screen( GTK_WINDOW (window)), spacing.
Stéphane: Any plans to fix the issues of Jon's review?
I'm working on this.
Created attachment 164378 [details] [review] Patch fixing all but one issue Fixes everything except for: savers/gste-slideshow.c: In function ‘start_fade’: gste-slideshow.c:185: error: ‘GdkVisual’ has no member named ‘depth’
Created attachment 164401 [details] [review] Last patch Unsure which gtk version this requires. Needs to be checked.
Review of attachment 164378 [details] [review]: Looks good aside from one minor style issue. Please commit with that change. Thanks! ::: savers/gs-theme-engine.c @@ +116,1 @@ Please line up the variable names
Comment on attachment 164378 [details] [review] Patch fixing all but one issue Committed with the required change, however looks like git am screwed something up with the subject. http://git.gnome.org/browse/gnome-screensaver/commit/?id=eeec18d366df1d5f27b4de50e64c4b6ef3000d0c
Comment on attachment 164401 [details] [review] Last patch Realized that gdk_visual_get_depth() was introduced by 50a72eda2d916a22a3bf5cf8e5736354d629dc61 and is included in Gtk 2.21.1. As I didn't want to bump the 2.19.7 requirement to 2.21.1 just because of this one line I've committed this with "#if GTK_CHECK_VERSION (2,21,1)": http://git.gnome.org/browse/gnome-screensaver/commit/?id=c669b01e7f10122191ff9c24e7999a652b071dcf