Re: Gtk2->show_about_dialog() bug

On Wed, 2006-11-15 at 14:48 +0000, Gavin Brown wrote:

The behaviour of GtkAboutDialogs was changed between 2.8 and 2.10 -
developers are now required to set up a callback to hide the dialog
when the user clicks on the "close" button. This brings the dialog
into line with the others and isn't such a problem. 

Hmm, this looks hard to fix properly.  The problem is that
gtk_show_about_dialog uses varargs to allow calling it with a variable
number of arguments.  As far as I know, there's no way to construct this
varargs thingy at run-time, so we can't use gtk_show_about_dialog; we
have to reimplement it.  This of course means that changes to the
original gtk_show_about_dialog have no effect on our version.

This can in theory be fixed by just porting the changes.  But
unfortunately the mentioned change makes use of internal data structures
to destroy the license and credits dialogs (if they exist) in the
handler for the "close" signal.  Since we don't have access to these
structures, we can't implement this.  Unless I'm missing something.

The best approximation I could come up with is attached.  It simply
hides the about dialog when the "close" signal is fired.  Open license
and credit dialogs stay open.

Any suggestions for improvements?


Attachment: about.patch
Description: Text Data

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]