From 7e866d1fa361d3937e7a57f469d6ee8ba87998c3 Mon Sep 17 00:00:00 2001 From: zeljko Date: Fri, 26 May 2017 12:25:58 +0000 Subject: [PATCH] gtk3: fix assertions git-svn-id: trunk@55101 - --- lcl/interfaces/gtk3/gtk3winapi.inc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lcl/interfaces/gtk3/gtk3winapi.inc b/lcl/interfaces/gtk3/gtk3winapi.inc index 62ffff26cc..339477188c 100644 --- a/lcl/interfaces/gtk3/gtk3winapi.inc +++ b/lcl/interfaces/gtk3/gtk3winapi.inc @@ -3319,9 +3319,13 @@ begin Result := 0; if Handle = 0 then exit; - g_object_set_data(TGtk3Widget(Handle).Widget, Str, nil); + if Gtk3IsObject(TGtk3Widget(Handle).Widget) then + g_object_set_data(TGtk3Widget(Handle).Widget, Str, nil); if TGtk3Widget(Handle).GetContainerWidget <> TGtk3Widget(Handle).Widget then - g_object_set_data(TGtk3Widget(Handle).GetContainerWidget, Str, nil); + begin + if Gtk3IsObject(TGtk3Widget(Handle).GetContainerWidget) then + g_object_set_data(TGtk3Widget(Handle).GetContainerWidget, Str, nil); + end; Result := 1; end; @@ -3667,9 +3671,13 @@ function TGtk3WidgetSet.SetProp(Handle: hwnd; Str: PChar; Data: Pointer begin if Handle = 0 then exit(False); - g_object_set_data(TGtk3Widget(Handle).Widget, Str, Data); + if Gtk3IsObject(TGtk3Widget(Handle).Widget) then + g_object_set_data(TGtk3Widget(Handle).Widget, Str, Data); if TGtk3Widget(Handle).GetContainerWidget <> TGtk3Widget(Handle).Widget then - g_object_set_data(TGtk3Widget(Handle).GetContainerWidget, Str, Data); + begin + if Gtk3IsObject(TGtk3Widget(Handle).GetContainerWidget) then + g_object_set_data(TGtk3Widget(Handle).GetContainerWidget, Str, Data); + end; Result := True; end;