GNOME Bugzilla – Bug 612496
Does not compile with -DGSEAL_ENABLED
Last modified: 2010-06-22 10:43:30 UTC
This module does not build with -DGSEAL_ENABLED. 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. sj-main.c: In function ‘error_on_start’: sj-main.c:188: error: ‘GtkMessageDialog’ has no member named ‘label’ sj-main.c: In function ‘metadata_cb’: sj-main.c:798: error: ‘GtkObject’ has no member named ‘flags’ sj-main.c:801: error: ‘GtkWidget’ has no member named ‘window’ sj-main.c:816: error: ‘GtkMessageDialog’ has no member named ‘label’ sj-main.c: In function ‘reread_cd’: sj-main.c:887: error: ‘GtkObject’ has no member named ‘flags’ sj-main.c:894: error: ‘GtkWidget’ has no member named ‘window’ sj-main.c:895: error: ‘GtkWidget’ has no member named ‘window’ sj-main.c:897: error: ‘GtkWidget’ has no member named ‘window’ sj-main.c:915: error: ‘GtkWidget’ has no member named ‘window’ sj-main.c:934: error: ‘GtkMessageDialog’ has no member named ‘label’ sj-main.c: In function ‘set_drive_from_device’: sj-main.c:1000: error: ‘GtkMessageDialog’ has no member named ‘label’ sj-main.c: In function ‘set_device’: sj-main.c:1036: error: ‘GtkMessageDialog’ has no member named ‘label’ sj-main.c: In function ‘device_changed_cb’: sj-main.c:1124: error: ‘GtkMessageDialog’ has no member named ‘label’ sj-main.c: In function ‘on_submit_activate’: sj-main.c:1246: error: ‘GtkMessageDialog’ has no member named ‘label’ sj-main.c: In function ‘on_duplicate_activate’: sj-main.c:1602: error: ‘GtkMessageDialog’ has no member named ‘label’ make[2]: *** [sound_juicer-sj-main.o] Error 1 make[2]: Leaving directory `/home/andre/svn-gnome/sound-juicer/src' make[1]: *** [all-recursive] Error 1
Created attachment 156727 [details] [review] Patch to make Sound-Juicer GSEAL-proof.
This is my attempt at making Sound-Juicer compile with DGSEAL_ENABLE, but also my first patch, please be indulgent. I'm not sure about the GTK_MESSAGE_DIALOGS and their markups, please tell me if I did well.
Patch is missing a GTK+ requirement bump in configure.in.
Created attachment 158356 [details] [review] Makes Sound-Juicer GSEAL-proof and bump GTK+ version to 2.20
Review of attachment 158356 [details] [review]: ::: src/gconf-bridge.c @@ -602,3 @@ GdkWindowState state; - state = gdk_window_get_state (GTK_WIDGET (binding->window)->window); You use preceding tabs here while the rest of the code around uses spaces. ::: src/gedit-message-area.c @@ +147,3 @@ { + GtkAllocation *allocation = NULL; + gtk_widget_get_allocation (widget, allocation); I'm used to GtkAllocation allocation; gtk_widget_get_allocation (widget, &allocation); but I'm not a sound-juicer maintainer...
Created attachment 158911 [details] [review] Makes Sound-Juicer GSEAL-proof and bump GTK+ version to 2.20 This is a new patch, as the previous one wouldn't apply on current HEAD. I don't think it has any tabs issue, to be frank I just ran Emacs `untabify' command to correct it.
+ GtkAllocation *allocation = NULL; + gtk_widget_get_allocation (widget, allocation); That will cause a NULL dereference and crash. André's code is the correct way of calling _get_allocation().
I used it that way in the new patch. Thanks for the explanation, I didn't know !
Already fixed in the last patch (comment 6)... Can this get a review/commit please?
Review of attachment 158911 [details] [review]: Loads of unneeded changes in this version. the message area widget needs to go. ::: src/gedit-message-area.c @@ +146,3 @@ gpointer user_data) { + GtkAllocation widget_allocation; Why do we port gedit-message-area when the required version of GTK+ already contains GtkInfoBar which does the same thing? ::: src/sj-main.c @@ +177,3 @@ { GtkWidget *dialog; + dialog = gtk_message_dialog_new_with_markup (NULL, 0, gtk_message_dialog_new() isn't deprecated, and this is a cleanup job. File this as a separate bug. @@ +923,3 @@ GTK_BUTTONS_CLOSE, "%s", _("Could not read the CD")); + gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog), Same comment as above. @@ +940,3 @@ +media_added_cb (BraseroMediumMonitor *drive, + BraseroMedium *medium, + gpointer data) Why the changes? Don't change indentation at the same time as code. @@ +952,3 @@ static void +media_removed_cb (BraseroMediumMonitor *drive, + BraseroMedium *medium, Same here. @@ +1847,3 @@ /* Mash up the CDDA URIs into a device path */ if (g_str_has_prefix (uris[0], "cdda://")) { + gint len; The indentation sucks, please fix in a separate patch/bug.
(In reply to comment #10) > Why do we port gedit-message-area when the required version of GTK+ already > contains GtkInfoBar which does the same thing? Filled bug #622146
Created attachment 164123 [details] [review] Updated patch Updated patch now that bug 622146 has been fixed. Hopefully covering all requests listed here. Can't compile and test the patch as sound-juicer in jhbuild bitches about "libmusicbrainz3 needs to be available for sound-juicer to build" though I just build libmusicbrainz (3.0.2) successfully in jhbuild before. > gtk_message_dialog_new() isn't deprecated, and this is a cleanup job. File > this as a separate bug. These changes are needed to get rid of direct access of GtkDialog->label in gtk_label_set_use_markup (GTK_LABEL (GTK_MESSAGE_DIALOG (dialog)->label), TRUE); so I consider them part of this bug.
Review of attachment 164123 [details] [review]: Works for me, please commit.
Comment on attachment 164123 [details] [review] Updated patch Thanks for the quick review! Committed: http://git.gnome.org/browse/sound-juicer/commit/?id=b789564776f6673fcffdf3d67f7ccebd48679866