Created attachment 133769 [details] Video demonstrating faulty behavior SUMMARY When Enable Hi-DPI support is on AND when using two monitors with different "Scale and layout" settings, clicking the Toggle showing presets button causes the Edit brush settings window to close and not reopen until the full Krita application window is resized in some way (e.g. maximize/un-maximise). STEPS TO REPRODUCE 1. Make sure Enable Hi-DPI support is on in Krita 2. Set primary monitor's Scale and Layout to 150% 3. Set secondary monitor's Scale and Layout to 200% 4. Open krita and move to secondary monitor 5. Open brush settings menu 6. Click the Toggle showing presets button OBSERVED RESULT Brush settings menu window closes with no ability to reopen by clicking the button again, until the application window is resized EXPECTED RESULT Brush settings menu window should remain open and the presets section should expand or collapse SOFTWARE/OS VERSIONS Windows: Windows 10 macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION Changing the scale and layout to be the same for both monitors resolves the issue but the scaling may not match the recommended setting for the display size.
Created attachment 133770 [details] System information
Hi, Thanks for the detailed and really clear report. I haven't been able to reproduce, though. * Are you pressing the toggle button with a mouse, or with a stylus? This is my system info: Krita Version: 4.4.2-alpha (git 59c60f7) Languages: en_US, en Hidpi: true Qt Version (compiled): 5.12.9 Version (loaded): 5.12.9 OS Information Build ABI: x86_64-little_endian-llp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: winnt Kernel Version: 10.0.18363 Pretty Productname: Windows 10 (10.0) Product Type: windows Product Version: 10 OpenGL Info Vendor: "Google Inc." Renderer: "ANGLE (Intel(R) HD Graphics 630 Direct3D11 vs_5_0 ps_5_0)" Version: "OpenGL ES 3.0 (ANGLE 2.1.0.57ea533f79a7)" Shading language: "OpenGL ES GLSL ES 3.00 (ANGLE 2.1.0.57ea533f79a7)" Requested format: QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile) Current format: QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile) Version: 3.0 Supports deprecated functions false is OpenGL ES: true QPA OpenGL Detection Info supportsDesktopGL: true supportsAngleD3D11: true isQtPreferAngle: true Hardware Information GPU Acceleration: auto Memory: 32604 Mb Number of Cores: 8 Swap Location: C:/Users/boude/AppData/Local/Temp Current Settings Current Swap Location: C:/Users/boude/AppData/Local/Temp Current Swap Location writable: true Undo Enabled: true Undo Stack Limit: 30 Use OpenGL: true Use OpenGL Texture Buffer: true Use AMD Vectorization Workaround: false Canvas State: OPENGL_NOT_TRIED Autosave Interval: 900 Use Backup Files: true Number of Backups Kept: 1 Backup File Suffix: ~ Backup Location: Same Folder as the File Backup Location writable: false Use Win8 Pointer Input: false Use RightMiddleTabletButton Workaround: false Levels of Detail Enabled: false Use Zip64: false Display Information Number of screens: 3 Screen: 0 Name: \\.\DISPLAY2 Depth: 32 Scale: 1 Resolution in pixels: 2560x1440 Manufacturer: Model: Refresh Rate: 59 Screen: 1 Name: \\.\DISPLAY1 Depth: 32 Scale: 2 Resolution in pixels: 1280x720 Manufacturer: Model: Refresh Rate: 60 Screen: 2 Name: \\.\DISPLAY3 Depth: 32 Scale: 1 Resolution in pixels: 2560x1440 Manufacturer: Model: Refresh Rate: 59
I tried both the mouse and the stylus and both result in the same behavior. I've also noticed that I can change the scale on the secondary monitor to 150% to match the other monitor, without restarting Krita resize the window and it will then work from then on out. Even if I then set it back to 200%. This let's me get it working at the recommended display scaling but it requires many steps every time I start up Krita.
Also, I can move Krita to the primary monitor when it's demonstrating the faulty behavior and it stops until I move it back to the secondary monitor. Very strange, but this is what lead me to believe it had something to do with the scaling because both my monitors are the same resolution.
Created attachment 133777 [details] Compatibility settings
I think I may have found something. I had originally set the compatibility for Krita "High DPI scaling override" set to "Application" (screenshot attached). This was because I had a different monitor before and I was having trouble with the scaling. If I remove this option it behaves correctly and now looks correct with my new monitor.
Hi, setting "High DPI scaling override" to "Application" *will* cause unintended behaviour with Qt that we can't do anything about. Since you figured this out, I am going to assume that this is resolved.