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 585206 - migrate from bonobo to libunique
migrate from bonobo to libunique
Status: RESOLVED FIXED
Product: gthumb
Classification: Other
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Paolo Bacchilega
Paolo Bacchilega
Depends on:
Blocks: 583464
 
 
Reported: 2009-06-08 23:09 UTC by Michael Chudobiak
Modified: 2009-09-10 20:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Migrate from bonobo to libunique (24.41 KB, patch)
2009-07-26 09:24 UTC, Marc Pavot
needs-work Details | Review
Fix 2 bugs (723 bytes, patch)
2009-07-30 20:35 UTC, Marc Pavot
needs-work Details | Review

Description Michael Chudobiak 2009-06-08 23:09:57 UTC
As of GNOME 2.26, Unique is a GNOME blessed external dependency.

http://live.gnome.org/LibUnique
Comment 1 Paolo Benvenuto 2009-06-09 05:53:01 UTC
I can't understand: using unique we won't run two gthumb instances any more, will we?
Comment 2 Jef Driesen 2009-06-16 10:01:38 UTC
(In reply to comment #1)
> I can't understand: using unique we won't run two gthumb instances any more,
> will we?

You can still have multiple windows, but they all share the same process.

I also don't see any reason for a single instance application. It seems that many gnome application are singe instance too. For example eog and gedit. I can see some benefits for a document oriented application like gedit, where a single instance allows you to move documents between windows. But for an image viewer (eog) or browser (gthumb), I only see disadvantages. The major one is that when one window is doing a very slow operation, all other instances are affected too. In this case I prefer the unix way of having separate processes.



Comment 3 Marc Pavot 2009-07-26 09:24:51 UTC
Created attachment 139225 [details] [review]
Migrate from bonobo to libunique

This patch removes any dependency on Bonobo and Corba and uses libunique instead.

It should not change Gthumb behavior.

Regards,
Marc
Comment 4 Michael Chudobiak 2009-07-30 18:24:22 UTC
I'm back from vacation...

Anyway, the patch doesn't quite work for me. If I have one gThumb app open and I insert a flash card (or run gthumb --import-photos from a second command line), TWO import-photos dialogs appear, rather than one.

- Mike
Comment 5 Marc Pavot 2009-07-30 20:35:03 UTC
Created attachment 139586 [details] [review]
Fix 2 bugs

Hi Michael,

This additional patch should fix the bug you describe and it also fixes another bug when filename is empty (but not NULL).

Marc
Comment 6 Michael Chudobiak 2009-07-31 12:31:33 UTC
Hi Marc,

There's still a bug, I think.

- Open gThumb (viewing ~, for example - this is the first window)

- Insert a flash card. This opens a second gThumb window (in my case, at /media/EOS_DIGITAL)

- Import the photos. This opens a third gThumb window (/your_import_dir)

- When done, 3 windows are open.


The 2nd window is not needed.

- Mike
Comment 7 Michael Chudobiak 2009-07-31 13:07:28 UTC
Side note - it would be nice to use unique to implement:

Ctrl+Q = close all windows
Ctrl+W = close current window

as per the HIG.

- Mike
Comment 8 Marc Pavot 2009-08-01 15:41:46 UTC
Hi Michael,

I can't reproduce this bug: There is no 2nd window when I import photos.

Are you sure you have installed Gthumb with libunique support (using make install)? When you plug your camera, Gnome launches 'gthumb --import-photos' with the gthumb executable installed in /usr/bin or /usr/local/bin so you will have bugs if this version is still using bonobo.

Marc
Comment 9 Michael Chudobiak 2009-08-03 20:14:05 UTC
Marc,

It seems that the current trunk is being replaced by the ext branch (see the mailing list for Paolo's post), so this patch is no longer needed...

- Mike
Comment 10 Michael Chudobiak 2009-09-10 20:12:10 UTC
Fixed in ext branch.