forked from matplotlib/matplotlib
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit d1294c0
Qt: Fix HiDPI handling on X11/Windows
With X11, there is only ever a single scale, regardless of monitors as
in Wayland, so it's always the highest scale (i.e., it's 2 if you have
1.5&1-scaled monitors). Thus we get no change events and don't update
the internal scale. On Wayland though, as noted in the other issue from
Qt devs, you only get the fractional scale after the first expose, so
there's always at least one event there.
In the older/pre-#30345 code path, in `showEvent`, we'd call
`_update_screen` to set callbacks for its changes, and that _also_
called `_update_pixel_ratio`. In the new code, we don't have that
initial call, and because Wayland always has at least one event at
startup, it all seemed to work.
So just add the `_update_pixel_ratio` call in the new code path as well.
On X11, this will be the highest integer scale needed and never changes.
On Wayland, this will also be the rounded-up integer scale, but if using
fractional scaling, will change with a subsequent event to the correct
one. This does cause a few extra changes on startup, but should be more
consistent across platforms.1 parent a5e1f60 commit d1294c0
1 file changed
+1
-0
lines changedOriginal file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
273 | 273 |
| |
274 | 274 |
| |
275 | 275 |
| |
276 | + | ||
276 | 277 |
| |
277 | 278 |
| |
278 | 279 |
| |
|
0 commit comments