Hello, On Tue, 30 Mar 2010 19:18:14 +0200 Daniel Elstner <[email protected]> wrote:
> the attached patch is currently being considered for application to > gtkmm, both stable and unstable. Since it changes user-visible > behavior, it is possible that it may break some odd piece of code out > there. > > If it breaks your code, raise your veto now. :-) This doesn't exactly break my code (and maybe my issue is a bit off-topic), but I just had a look at my code and noticed the following source of potential issues: Using gtk_get_option_group() and g_option_context_parse() initializes gtk. (I don't use the glibmm version due to some reason I don't remember anymore). Now, for example, I don't want to use the system locale and want to stick with the classic one. I could use gtk_disable_setlocale() before g_option_context_parse() to avoid changing the system locale when that happens. To initialize gtkmm as well (without changing the locale), I would use Gtk::Main m(argc, argv, false); This would prevent it to set the C++ locale (the end result will be that both C and C++ locales are set to classic). However, this generates a warning: Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init(), probably due to the fact that Gtk::Main::Main() also calls the gtk_disable_setlocale() if the use_locale parameter is false. To avoid this warning I have to save the C++ locale before the Gtk::Main::Main() call and restore it afterwards. Perhaps the more correct way to fix this would be to check if GTK is initialized before calling gtk_disable_setlocale() in Gtk::Main's constructor? (not sure how to do that though). Thanks, Alexander _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
