Re: [PATCH] Simplify about dialog code
Marcel Holtmann <[email protected]>
| Newsgroups | gmane.linux.bluez.devel |
|---|---|
| Message-ID | <1202777523.7664.211.camel@violet> |
Hi Bastien, > > > > > Before you're holidays I sent you a patch which simplifies the about > > > > > dialog code. We went on discussing it but didn't come to a conclusion, > > > > > I think > > > > > > > > I am not going on holidays. At least not that I know of :) > > > > > > > > > In my opinion it's a good patch because: > > > > > > > > > > 1) The patch removes about 20 function calls > > > > > 2) You don't need to hookup signals to the about dialog > > > > > 3) Eog, cheese, gnome-power-manager, nautilus, gedit to name a few all > > > > > do it this way. > > > > > > > > Still not convinced. > > > > > > Using gtk_dialog_run() means that you're running the main loop from the > > > about box code. Fixing this would add code. The patch Jaap sent removes > > > a lot of code, and avoids things like double-about boxes, or crappy > > > backtraces that show the about box callback function :) > > > > I have really no idea what you are talking about. How does this change > > do all this magic? > > The change binds the GtkAbout to the application so GTK+ keeps track of > the about box existing or not, and not us. So it avoids multiple about > boxes being displayed. never realized that. You should have pointed that out earlier. > > And what crappy backtraces? > > Crappy backtrace are the ones run from within the gtk_run_dialog() in > the about dialog callback. When yoy show the about box, and don't > dismiss it, your application is running its main loop from your > gtk_dialog_run() call. If the application crashes, the backtrace will be > from your gtk_dialog_run() call, not from the gtk_main() in main. > > It's a simple fix that rids your own code of the book-keeping for this > dialogue. I applied the change to the CVS now. Regards Marcel ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/