Bug 449670

Summary: New File on a new window opens in a tab on the original window
Product: [Applications] krita Reporter: Ahab Greybeard <ahab.greybeard>
Component: GeneralAssignee: vanyossi <ghevan>
Status: RESOLVED FIXED    
Severity: normal CC: ghevan, halla
Priority: NOR Keywords: regression
Version First Reported In: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Ahab Greybeard 2022-02-05 21:47:03 UTC
SUMMARY
This is a regression with respect to 4.4.8.
It happens with the 5.0.0 and onwards appimages up to the Feb 05 5.1.0-prealpha (git a64a2a6) appimage running on Debian 10 with the MATE desktop.
It happens with two windows on one monitor or two windows on separate monitors.
It also happens for a another new window (a total of three windows).


STEPS TO REPRODUCE
1. Start and do Window -> New Window.
2. Do File -> New in the new window.
3. Do File -> New in the original window.

OBSERVED RESULT
1. There are two windows as expected.
2. The new canvas appears as a tab in the original window.
3. The new canvas appears as a tab in the original window, as expected.

I don't know if it's signigicant but the position of the main menu 'Window' item was changed going from 4.4.8 to 5.0.0.

EXPECTED RESULT
2. The new canvas should be on a tab in the new window.

SOFTWARE/OS VERSIONS
Krita

 Version: 5.1.0-prealpha (git a64a2a6)
 Languages: en_GB, en, en, en_GB, en
 Hidpi: false

Qt

  Version (compiled): 5.12.12
  Version (loaded): 5.12.12

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.19.0-18-amd64
  Pretty Productname: Debian GNU/Linux 10 (buster)
  Product Type: debian
  Product Version: 10
  Desktop: MATE

OpenGL Info
 
  Vendor:  "NVIDIA Corporation" 
  Renderer:  "GeForce GTX 750 Ti/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 460.73.01" 
  Shading language:  "4.60 NVIDIA" 
  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 4.6, 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) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 
  supportsBufferMapping: true 
  supportsBufferInvalidation: true
Comment 1 Lynx3d 2022-05-17 22:04:28 UTC
Git commit 3ae600dfa21b6aea185e8aeecd45fc8098076786 by Mathias Wein.
Committed on 17/05/2022 at 22:00.
Pushed by mwein into branch 'master'.

Fix new files opening in wrong mainwindow

This is a regression of e5f10d40b1c5a926e39dff3655b573d00ffef776
If the dialog gets accepted right before sending the signal, KisPart
can't determine the current main window because qApp->activeWindow()
is Null.

Though the widespread use of KisPart::currentMainwindow() deserves
some review, a more explicit definition of the target window would be
less error prone.

M  +1    -1    libs/ui/KisOpenPane.cpp
M  +1    -1    libs/ui/widgets/kis_custom_image_widget.cc

https://invent.kde.org/graphics/krita/commit/3ae600dfa21b6aea185e8aeecd45fc8098076786