diff --git a/lcl/interfaces/gtk/gtkwinapi.inc b/lcl/interfaces/gtk/gtkwinapi.inc index 9411cb9a36..cc74ea866d 100644 --- a/lcl/interfaces/gtk/gtkwinapi.inc +++ b/lcl/interfaces/gtk/gtkwinapi.inc @@ -2272,7 +2272,12 @@ function TGtkWidgetSet.ComboBoxDropDown(Handle: HWND; DropDown: boolean): boolea avail_height := gdk_screen_height () - y; New(list_requisition); - gtk_widget_size_request (combo^.list, list_requisition); + if combo^.list<>nil then begin + gtk_widget_size_request (combo^.list, list_requisition); + end else begin + list_requisition^.height:=1; + list_requisition^.width:=1; + end; min_height := MIN (list_requisition^.height,popup^.vscrollbar^.requisition.height); if GTK_LIST (combo^.list)^.children = nil then @@ -8429,9 +8434,13 @@ begin FirstChild:=PGTkList(ListWidget)^.children; if FirstChild<>nil then begin FirstChildWidget:=PGtkWidget(FirstChild^.Data); - gtk_widget_size_request(FirstChildWidget,@item_requisition); - CurItemHeight:=Max(FirstChildWidget^.Allocation.Height, - item_requisition.Height); + if FirstChildWidget<>nil then begin + gtk_widget_size_request(FirstChildWidget,@item_requisition); + CurItemHeight:=Max(FirstChildWidget^.Allocation.Height, + item_requisition.Height); + end else begin + CurItemHeight:=1; + end; if MinItemsHeightnil do begin ListItemWidget:=PGtkWidget(GListItem^.data); if i>=NewTopIndex then break; - gtk_widget_size_request(ListItemWidget,@requisition); - inc(AdjValue,requisition.height); + if ListItemWidget<>nil then begin + gtk_widget_size_request(ListItemWidget,@requisition); + inc(AdjValue,requisition.height); + end; //DebugLn(['TGtkWSCustomListBox.SetTopIndex ',i,' AdjValue=',AdjValue,' Flags=',WidgetFlagsToString(ListItemWidget)]); inc(i); GListItem:=GListItem^.next; diff --git a/lcl/interfaces/gtk2/gtk2lclintf.inc b/lcl/interfaces/gtk2/gtk2lclintf.inc index f43f936f7a..3849c117e7 100644 --- a/lcl/interfaces/gtk2/gtk2lclintf.inc +++ b/lcl/interfaces/gtk2/gtk2lclintf.inc @@ -71,10 +71,11 @@ begin p := GetWidgetInfo(Pointer(Handle), False)^.CoreWidget; Menu := PGtkWidget(g_object_get_data(G_OBJECT(p), 'Menu')); - - Requisition.width := MinItemsWidth; - Requisition.height := MinItemsHeight * MinItemCount; - gtk_widget_size_request(Menu, @Requisition); + if Menu<>nil then begin + Requisition.width := MinItemsWidth; + Requisition.height := MinItemsHeight * MinItemCount; + gtk_widget_size_request(Menu, @Requisition); + end; end; //##apiwiz##eps## // Do not remove, no wizard declaration after this line