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 612496 - Does not compile with -DGSEAL_ENABLED
Does not compile with -DGSEAL_ENABLED
Status: RESOLVED FIXED
Product: sound-juicer
Classification: Applications
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Sound Juicer Maintainers
Sound Juicer Maintainers
Depends on: 622146
Blocks: 585391
 
 
Reported: 2010-03-10 20:41 UTC by André Klapper
Modified: 2010-06-22 10:43 UTC
See Also:
GNOME target: 3.0
GNOME version: 2.29/2.30


Attachments
Patch to make Sound-Juicer GSEAL-proof. (13.63 KB, patch)
2010-03-22 10:12 UTC, Stéphane Maniaci
none Details | Review
Makes Sound-Juicer GSEAL-proof and bump GTK+ version to 2.20 (14.15 KB, patch)
2010-04-10 09:39 UTC, Stéphane Maniaci
none Details | Review
Makes Sound-Juicer GSEAL-proof and bump GTK+ version to 2.20 (19.39 KB, patch)
2010-04-16 18:08 UTC, Stéphane Maniaci
needs-work Details | Review
Updated patch (15.81 KB, patch)
2010-06-20 11:55 UTC, André Klapper
committed Details | Review

Description André Klapper 2010-03-10 20:41:54 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
Comment 1 Stéphane Maniaci 2010-03-22 10:12:43 UTC
Created attachment 156727 [details] [review]
Patch to make Sound-Juicer GSEAL-proof.
Comment 2 Stéphane Maniaci 2010-03-22 10:13:46 UTC
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.
Comment 3 André Klapper 2010-04-06 15:23:13 UTC
Patch is missing a GTK+ requirement bump in configure.in.
Comment 4 Stéphane Maniaci 2010-04-10 09:39:24 UTC
Created attachment 158356 [details] [review]
Makes Sound-Juicer GSEAL-proof and bump GTK+ version to 2.20
Comment 5 André Klapper 2010-04-16 14:27:21 UTC
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...
Comment 6 Stéphane Maniaci 2010-04-16 18:08:11 UTC
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.
Comment 7 Ross Burton 2010-04-17 17:24:57 UTC
+    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().
Comment 8 Stéphane Maniaci 2010-04-17 17:32:36 UTC
I used it that way in the new patch. Thanks for the explanation, I didn't know !
Comment 9 André Klapper 2010-04-23 17:42:12 UTC
Already fixed in the last patch (comment 6)...
Can this get a review/commit please?
Comment 10 Bastien Nocera 2010-05-21 12:30:42 UTC
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.
Comment 11 Javier Jardón (IRC: jjardon) 2010-06-20 02:02:06 UTC
(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
Comment 12 André Klapper 2010-06-20 11:55:01 UTC
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.
Comment 13 Ross Burton 2010-06-22 10:22:43 UTC
Review of attachment 164123 [details] [review]:

Works for me, please commit.
Comment 14 André Klapper 2010-06-22 10:43:03 UTC
Comment on attachment 164123 [details] [review]
Updated patch

Thanks for the quick review! Committed: http://git.gnome.org/browse/sound-juicer/commit/?id=b789564776f6673fcffdf3d67f7ccebd48679866