Re: GtkBuilder bug?



Emmanuele Bassi wrote:
no need to Cc me: I'm subscribed to the list.

On Wed, 2008-02-27 at 17:38 -0600, Yevgen Muntyan wrote:

I don't believe that any data passed to a library should result in a
fatal warning, surely a GError return would be a far better option here.
this is data building your UI: it screams design tool, developer or
packager error, and I would expect GtkBuilder to error out very, very
quickly. if it were user input, or application data it would have been a
completely different story - but the UI layout of an application *is*
the application, it's not user data.
But nobody can tell that the particular chunk of XML is
"the UI layout of an application".

you can tell: you must have put that XML somewhere. or loaded it from
somewhere. it's part of your application, like the code in your source
tree.

*Part*. Just like the code in my source tree, it shouldn't
bomb out if something goes wrong. Broken glade file
is no justification for lost data. Glade file for a frobnicator
dialog is not "the UI layout of an application" without
which the behavior of the application is undefined.

 It's not gtk_main_form(),
it's gtk_parse_this_xml_and_build_something_of_it().


A plugin loading its UI from xml, is it user data, application
data, or ...? (I don't quite understand how a glade file in
/usr/share may or may not be The UI and not data, but then
I also don't understand how people write applications which need
a glade file on disk to start, so that's another story)

there you go, then.

Do you what?

Anyway, libglade doesn't crash, so it's a regression ;)

it's not a segfault, it's a GError;

It's a crash for a user. SIGSEGV or SIGABRT is details
for the developer.

 and GtkBuilder is a completely new
implementation that doesn't even load the same files unless you pass
them through a converter, so it's not a "regression".

GtkBuilder is supposed to be a replacement for libglade,
no?

Yevgen



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