diff --git a/lcl/interfaces/qt/qtwinapi.inc b/lcl/interfaces/qt/qtwinapi.inc index 07580bc09d..305f5b23cf 100644 --- a/lcl/interfaces/qt/qtwinapi.inc +++ b/lcl/interfaces/qt/qtwinapi.inc @@ -1332,7 +1332,7 @@ var begin Desktop := QApplication_desktop(); for i := 0 to QDesktopWidget_numScreens(Desktop) - 1 do - lpfnEnum(HMONITOR(QDesktopWidget_screen(Desktop, i)), 0, nil, dwData); + lpfnEnum(i, 0, nil, dwData); Result := True; end; @@ -2242,28 +2242,18 @@ end; function TQtWidgetSet.GetMonitorInfo(Monitor: HMONITOR; lpmi: PMonitorInfo): Boolean; var Desktop: QDesktopWidgetH; - i: integer; - Screen: QWidgetH; begin Result := (lpmi <> nil) and (lpmi^.cbSize >= SizeOf(TMonitorInfo)); if not Result then Exit; - Result := False; Desktop := QApplication_desktop(); - for i := 0 to QDesktopWidget_numScreens(Desktop) - 1 do - begin - Screen := QDesktopWidget_screen(Desktop, i); - if HMONITOR(Screen) = Monitor then - begin - QDesktopWidget_screenGeometry(Desktop, @lpmi^.rcMonitor, i); - QDesktopWidget_availableGeometry(Desktop, @lpmi^.rcWork, i); - if QDesktopWidget_primaryScreen(Desktop) = i then - lpmi^.dwFlags := MONITORINFOF_PRIMARY - else - lpmi^.dwFlags := 0; - Result := True; - break; - end; - end; + Result := (Monitor >= 0) and (Monitor < QDesktopWidget_numScreens(Desktop)); + if not Result then Exit; + QDesktopWidget_screenGeometry(Desktop, @lpmi^.rcMonitor, Monitor); + QDesktopWidget_availableGeometry(Desktop, @lpmi^.rcWork, Monitor); + if QDesktopWidget_primaryScreen(Desktop) = Monitor then + lpmi^.dwFlags := MONITORINFOF_PRIMARY + else + lpmi^.dwFlags := 0; end; {------------------------------------------------------------------------------