From 02104f2c97d1075216b7d2133f72da6740adfe9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=BDeljan=20Rikalo?= Date: Mon, 11 Apr 2022 16:50:59 +0200 Subject: [PATCH] Qt5: fixed crash with lclqt5-win32. issue #39705 --- components/virtualtreeview/laz.virtualtrees.pas | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/components/virtualtreeview/laz.virtualtrees.pas b/components/virtualtreeview/laz.virtualtrees.pas index 1a1f0c32ad..6d59316e10 100644 --- a/components/virtualtreeview/laz.virtualtrees.pas +++ b/components/virtualtreeview/laz.virtualtrees.pas @@ -14392,9 +14392,12 @@ begin Size.cy := Size.cx; {$ifdef ThemeSupport} - {$ifdef Windows} + {$ifdef LCLWin} if tsUseThemes in FStates then begin + {for direct OS calls we need to implement GetNativeHandle():TLCLHandle in widgetset + because eg window handle in lclqt is TQtWidget(Handle).Widget, not Handle + by itself.} Theme := OpenThemeData(Handle, 'TREEVIEW'); if IsWinVistaOrAbove and (toUseExplorerTheme in FOptions.FPaintOptions) then begin @@ -14502,7 +14505,7 @@ begin end; {$ifdef ThemeSupport} - {$ifdef Windows} + {$ifdef LCLWin} // Overwrite glyph images if theme is active. if (tsUseThemes in FStates) and (Theme <> 0) then begin @@ -14544,7 +14547,7 @@ begin end; {$ifdef ThemeSupport} - {$ifdef Windows} + {$ifdef LCLWin} if tsUseThemes in FStates then CloseThemeData(Theme); {$endif}