mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 02:39:15 +02:00
gtk2: get correct primary monitor if we are using gtk2 >= 2.20. issue #32464
git-svn-id: trunk@55913 -
This commit is contained in:
parent
1644bea3b3
commit
63e24c7ffa
@ -77,8 +77,11 @@ initialization
|
||||
end;
|
||||
end;
|
||||
gdklibhandle := LoadLibrary(gdklib);
|
||||
if gdklibhandle <> 0
|
||||
then pointer(gdk_window_get_cursor):=GetProcAddress(gdklibhandle,'gdk_window_get_cursor');
|
||||
if gdklibhandle <> 0 then
|
||||
begin
|
||||
pointer(gdk_window_get_cursor) := GetProcAddress(gdklibhandle,'gdk_window_get_cursor');
|
||||
pointer(gdk_screen_get_primary_monitor) := GetProcAddress(gdklibhandle,'gdk_screen_get_primary_monitor');
|
||||
end;
|
||||
|
||||
finalization
|
||||
if gtkhandle <> 0 then
|
||||
|
@ -341,6 +341,8 @@ var
|
||||
gtk_window_set_opacity: procedure(window: PGtkWindow; opacity: gdouble); cdecl;
|
||||
g_object_ref_sink: function(anObject: PGObject): gpointer; cdecl;
|
||||
gdk_window_get_cursor: function(window: PGdkWindow): PGdkCursor; cdecl;
|
||||
// since 2.20
|
||||
gdk_screen_get_primary_monitor: function(screen: PGdkScreen): gint; cdecl;
|
||||
|
||||
// since 2.10
|
||||
gtk_tree_view_set_grid_lines: procedure(tree_view: PGtkTreeView; grid_lines: TGtkTreeViewGridLines); cdecl;
|
||||
|
@ -4998,11 +4998,21 @@ begin
|
||||
else
|
||||
{$ENDIF}
|
||||
lpmi^.rcWork := lpmi^.rcMonitor;
|
||||
// gtk uses zero position for primary monitor
|
||||
if Monitor = 0 then
|
||||
lpmi^.dwFlags := MONITORINFOF_PRIMARY
|
||||
else
|
||||
lpmi^.dwFlags := 0;
|
||||
// since gtk-2.20 we have correct api to get primary monitor. issue #32464
|
||||
if Assigned(gdk_screen_get_primary_monitor) then
|
||||
begin
|
||||
if (Monitor = gdk_screen_get_primary_monitor(gdk_screen_get_default)) then
|
||||
lpmi^.dwFlags := MONITORINFOF_PRIMARY
|
||||
else
|
||||
lpmi^.dwFlags := 0;
|
||||
end else
|
||||
begin
|
||||
// gtk2 below 2.20
|
||||
if Monitor = 0 then
|
||||
lpmi^.dwFlags := MONITORINFOF_PRIMARY
|
||||
else
|
||||
lpmi^.dwFlags := 0;
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user