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 612551 - Does not compile with -DGSEAL_ENABLE
Does not compile with -DGSEAL_ENABLE
Status: RESOLVED FIXED
Product: gnome-screensaver
Classification: Deprecated
Component: general
2.29.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-screensaver maintainers
gnome-screensaver maintainers
Depends on:
Blocks: 585391
 
 
Reported: 2010-03-11 11:20 UTC by André Klapper
Modified: 2010-06-27 08:52 UTC
See Also:
GNOME target: 3.0
GNOME version: 2.29/2.30


Attachments
Makes gnome-screensaver GSeal-proof. (20.99 KB, patch)
2010-03-22 12:31 UTC, Stéphane Maniaci
reviewed Details | Review
Patch fixing all but one issue (27.39 KB, patch)
2010-06-23 09:49 UTC, André Klapper
committed Details | Review
Last patch (1.09 KB, patch)
2010-06-23 15:04 UTC, André Klapper
committed Details | Review

Description André Klapper 2010-03-11 11:20:38 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
Comment 1 Stéphane Maniaci 2010-03-22 12:31:01 UTC
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.
Comment 2 William Jon McCann 2010-04-23 19:29:02 UTC
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.
Comment 3 André Klapper 2010-06-02 11:00:31 UTC
Stéphane: Any plans to fix the issues of Jon's review?
Comment 4 André Klapper 2010-06-23 09:42:15 UTC
I'm working on this.
Comment 5 André Klapper 2010-06-23 09:49:08 UTC
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’
Comment 6 André Klapper 2010-06-23 15:04:20 UTC
Created attachment 164401 [details] [review]
Last patch

Unsure which gtk version this requires. Needs to be checked.
Comment 7 William Jon McCann 2010-06-26 23:58:50 UTC
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 8 André Klapper 2010-06-27 08:42:25 UTC
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 9 André Klapper 2010-06-27 08:52:09 UTC
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