On Oct 29, 2003, at 12:25 AM, Ulf Lamping wrote:


As the construct_args parameter is NULL in this case, I get an access violation.

The difference in dfilter_dialog_cb() and display_filter_construct_cb() is exactly creating this construct_args field.

Yes, "dfilter_dialog_cb()" is the routine to construct an "Edit Display Filters" dialog box, and "display_filter_construct_cb()" is the routine to construct a dialog box for constructing a display filter.


BTW: This is a GTK2 problem, as I tried it without the patch with GTK1 and have no problems. Please don't ask me why this is working in GTK1 and not in GTK2, as I don't see the any difference at this point :-(

It looks like a GTK2 *bug*. At least as I read the documentation, the last argument to "gtk_toolbar_append_item()" is the user data to be passed to the callback; if that's not being passed to "display_filter_construct_cb()", that sounds like a bug. The only other possibility I can see is that the calling sequence for toolbar callbacks changed between GTK+ 1.2[.x] and GTK+ 2.x, so that the user data isn't passed as the second argument.


I've checked in a change to call "dfilter_dialog_cb()" *AND* to get rid of the "args" structure and pass NULL to the callback.

Nonetheless, the functions called from menu.c () "Edit/Display Filters" and toolbar.c icon should be the same in any case.

Or, at least, the function called from a toolbar "Edit Display Filters" icon should be the same as the function called from "Edit -> Display Filters".


However, before "args" is declared in "get_main_toolbar()", there's a comment that says, among other things,

* XXX - Adding the "Ok" and "Apply" buttons would need some more work here

The work in question means turning it from an "Edit Display Filters" button to a "Filter Display" button, which would presumably work the same way the "Filter:" button in the status line works (otherwise, the "Ok" and "Apply" buttons wouldn't make any sense and wouldn't belong there). Is that what you had in mind?

Reply via email to