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 571878 - Get rid of deprecated Bonobo
Get rid of deprecated Bonobo
Product: seahorse-plugins
Classification: Applications
Component: Applet
Other Linux
: Normal normal
: ---
Assigned To: seahorse-plugins-maint
Depends on: 572131
Blocks: 588321 620830
Reported: 2009-02-15 20:11 UTC by André Klapper
Modified: 2010-12-13 10:22 UTC
See Also:
GNOME target: 3.0
GNOME version: ---

Get rid of Bonobo (22.29 KB, patch)
2010-06-10 23:26 UTC, Pablo Castellano (IRC: pablog)
none Details | Review
Get rid of Bonobo (v2) (24.46 KB, patch)
2010-06-11 11:11 UTC, Pablo Castellano (IRC: pablog)
none Details | Review
Fix minor issues of previous patch (3.12 KB, patch)
2010-08-04 06:44 UTC, Carlos Garcia Campos
none Details | Review
Get rid of Bonobo (v3) (25.12 KB, patch)
2010-09-11 09:53 UTC, Pablo Castellano (IRC: pablog)
none Details | Review
Get rid of Bonobo (FINAL) (25.90 KB, patch)
2010-09-13 12:15 UTC, Pablo Castellano (IRC: pablog)
none Details | Review

Description André Klapper 2009-02-15 20:11:36 UTC
libbonobo and libbonoboui are deprecated as per and hence the dependency
should be completely removed.

See for example or .

./seahorse-plugins/plugins/applet/seahorse-applet.c:#include <bonobo.h>
Comment 1 André Klapper 2009-02-15 20:26:04 UTC
...and of course also seahorse/seahorse-plugins/
Comment 2 Adam Schreiber 2009-02-15 22:41:25 UTC
Has something changed in libpanel-applet that it no longer requires Bonobo?
Comment 3 André Klapper 2009-02-15 22:47:07 UTC
No - so we depend on gnome-panel here. Good to know.
Comment 4 André Klapper 2010-03-03 23:47:33 UTC
gnome-panel has a bonobo-free branch now and will switch for 2.31.x.
See dependency bug.
Comment 5 André Klapper 2010-04-12 19:46:22 UTC if that helps anybody.
Comment 6 Pablo Castellano (IRC: pablog) 2010-04-13 16:43:27 UTC
JFTR: Carlos Garcia did a good work with gnome-panel in bug #572131. It's very useful as it's doing the same.
Comment 7 Pablo Castellano (IRC: pablog) 2010-06-10 23:26:35 UTC
Created attachment 163349 [details] [review]
Get rid of Bonobo

I have made a patch. It compiles well but I haven't tested it yet.
Comments are welcome.
Comment 8 Carlos Garcia Campos 2010-06-11 09:15:05 UTC
Hi Pablo, thanks for trying to port the applet, some comments:

 - Menu xml file, service file and panel-applet file are missing in the patch, you probnably forgot to run git add

 - In order to hide the properties menu when the applet is locked down you can use something like:

if (panel_applet_get_locked_down (applet)) {
        GtkAction *action;

        action = gtk_action_group_get_action (action_group, "Props");
        gtk_action_set_visible (action, FALSE);

 - I wonder why there's a custom main instead of using the factory macro. I think we could use PANEL_APPLET_OUT_PROCESS_FACTORY macro and move seahorse_secure_memory_init() to seahorse_applet_factory(), but I'm not sure. Another solution might be adding a new macro PANEL_APPLET_OUT_PROCESS_FACTORY_WITH_CODE or something like that
Comment 9 Pablo Castellano (IRC: pablog) 2010-06-11 11:11:40 UTC
Created attachment 163379 [details] [review]
Get rid of Bonobo (v2)

Thanks for your comments Carlos.
* added missing files to the patch
* panel_applet_get_locked_down()

About the last change, I'm not sure if it would work. Quoted from the documentation: "seahorse_secure_memory_init (). Configures non-pageable (secure) memory. Must be called before the first memory allocation."
Maybe gtk_init() does some memory allocations, :?

Stef can you give us a clue here?
Comment 10 Stef Walter 2010-06-11 13:05:45 UTC
The way seahorse_secure_memory_init() is written, it needs to be called before any glib or gtk+ code, because it replaces the glib memory allocator.

The alternative is to rewrite all the secure memory handling stuff in seahorse so we explicitly, and stop using WITH_SECURE_MEM() and related macros. This would remove the need for seahorse_secure_memory_init().
Comment 11 Carlos Garcia Campos 2010-06-11 13:14:28 UTC
Well, not using factory macro is not a problem anyway.
Comment 12 Pablo Castellano (IRC: pablog) 2010-06-20 22:22:50 UTC
So, has anyone tested my patch?
Comment 13 Pablo Castellano (IRC: pablog) 2010-08-04 00:17:23 UTC
*ping* Carlos
Comment 14 Carlos Garcia Campos 2010-08-04 06:44:15 UTC
Created attachment 167091 [details] [review]
Fix minor issues of previous patch

Right, I knew I was going to forget it. During guadec Pablo and I tested his patch and we found some minor issues. This patch that goes on top of pablo's, fixes the problems.
Comment 15 Pablo Castellano (IRC: pablog) 2010-09-11 09:53:55 UTC
Created attachment 170015 [details] [review]
Get rid of Bonobo (v3)

Please someone test this patch. I think it's done.
Comment 16 Carlos Garcia Campos 2010-09-13 07:26:09 UTC
Review of attachment 170015 [details] [review]:

It works for me, there's just a minor issue.

::: plugins/applet/seahorse-applet.c
@@ +1029,3 @@
+    if (panel_applet_get_locked_down (applet)) {
+        action = gtk_action_group_get_action (action_group, "Props");

You are using action_group here that has been already unrefed, just move g_object_unref (action_group); after this block
Comment 17 Pablo Castellano (IRC: pablog) 2010-09-13 12:15:52 UTC
Created attachment 170140 [details] [review]
Get rid of Bonobo (FINAL)

This is my proposed final patch. It would be good to commit it today, since tomorrow begins Hard Code Freeze.

* Fixed g_object_unref
* Fixed
Comment 18 André Klapper 2010-09-13 12:27:11 UTC
(In reply to comment #17)
> It would be good to commit it today, since tomorrow begins Hard Code Freeze.

It can be committed to master at any time after branching for gnome-2-32.
Comment 19 Stef Walter 2010-09-13 16:03:29 UTC
Pablo, unless Adam speaks up, I'm okay with you committing this before the 2.31.92 release. Especially if you work on releasing 2.31.92.
Comment 20 Javier Jardón (IRC: jjardon) 2010-11-15 01:58:32 UTC
Pablo, Stef; could this be commited now?
Comment 21 Stef Walter 2010-12-13 10:22:20 UTC
This was applied, so I'm closing the bug.