[Lazarus] Tools->Options segfaults with ancient gtk (GtkTreeView problem)
luca at wetron.es
Wed Dec 7 12:15:47 CET 2016
El 07/12/16 a les 11:28, Luca Olivetti via Lazarus ha escrit:
> El 05/12/16 a les 22:26, Luca Olivetti via Lazarus ha escrit:
>> El 05/12/16 a les 17:39, zeljko ha escrit:
>>>> I changed the call to look like the one for gtk >= 2.14 (i.e, Path
>>>> instead of nil) and now I can open the options dialog.
>>>> I really don't know gtk2, but maybe the differentiation is needed
>>>> for an
>>>> earlier version of gtk and not 2.14?
>>> Maybe < 2.12 should be there
>> I wouldn't know, as I said I know nothing about gtk, but the available
>> documentation doesn't mention if and when the api was changed:
> I checked gtktreeview.c starting from gtk 2.0
> until gtk 2.24
Oops, the link here should have been
> and the implementation of gtk_tree_view_set_cell basically didn't change
> (apart form the introduction of gtk_tree_view_set_cursor_on_cell in gtk
> At the beginning of the function there is
> g_return_if_fail (path != NULL);
> so I guess path should never be null and the LCL implementation works
> just because nobody else is using an older gtk.
> Maybe the function could be simplified to
> //gtk2 iter has no focus??
> Path := gtk_tree_path_new_from_string(PChar(IntToStr(AIndex)));
> if GTK_IS_TREE_VIEW(MainView) then
> gtk_tree_view_set_cursor(PGtkTreeView(MainView), Path, nil,
> if GTK_IS_ICON_VIEW(MainView) then
> gtk_icon_view_set_cursor(PGtkIconView(MainView), Path, nil,
> of course I may be guessing wrong.
> Should I file a bug report?
Wetron Automation Technology http://www.wetron.es/
Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007
More information about the Lazarus