diff --git a/lcl/interfaces/gtk2/gtk2cellrenderer.pas b/lcl/interfaces/gtk2/gtk2cellrenderer.pas index 1dd50dbe21..b937162bfd 100644 --- a/lcl/interfaces/gtk2/gtk2cellrenderer.pas +++ b/lcl/interfaces/gtk2/gtk2cellrenderer.pas @@ -119,7 +119,8 @@ begin ItemIndex := StrToInt(gtk_tree_path_to_string(ItemPath)); end else if AWinControl is TCustomComboBox then begin - MenuItem := g_object_get_data(G_OBJECT(cell), 'MenuItem'); + // ComboItem is set in gtk2wsstdctrls + MenuItem := g_object_get_data(G_OBJECT(cell), 'ComboItem'); if MenuItem <> nil then begin Menu := PGtkMenuShell(gtk_widget_get_parent(PGtkWidget(MenuItem))); if Menu <> nil then diff --git a/lcl/interfaces/gtk2/gtk2wsstdctrls.pp b/lcl/interfaces/gtk2/gtk2wsstdctrls.pp index f565cd153a..c77e10d125 100644 --- a/lcl/interfaces/gtk2/gtk2wsstdctrls.pp +++ b/lcl/interfaces/gtk2/gtk2wsstdctrls.pp @@ -819,6 +819,7 @@ begin gtk_cell_layout_set_attributes(AItem, renderer, ['text', 0, nil]); SetMainWidget(WidgetInfo^.CoreWidget, AItem); g_object_set_data(G_OBJECT(AItem), 'ComboItem', AComboItem); + // used in gtk2cellrenderer. if you change this update cellrenderer as well - AH g_object_set_data(G_OBJECT(renderer), 'ComboItem', AComboItem); end;