Bug 417792 - View -> Show Painting Assistants control/toggle can become inverted in its action
Summary: View -> Show Painting Assistants control/toggle can become inverted in its ac...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tool/Assistants (show other bugs)
Version: 4.2.8
Platform: Debian stable Linux
: NOR minor
Target Milestone: ---
Assignee: Tiar
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-02-17 14:52 UTC by Ahab Greybeard
Modified: 2021-09-24 13:49 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ahab Greybeard 2020-02-17 14:52:49 UTC
SUMMARY
This effect can be easily induced and can also be 'fixed' by inducing another inversion.
It happens per-document and a new document or freshly opened document will not have this.
It happens with all versions from 4.1.7 onwards.
This is confusing but not a disaster so I classed it as Minor.

STEPS TO REPRODUCE
1. With any number of assistants already in place, turn off Show Painting Assistants.
2. Using the Assistant Tool, create a new assistant.
3. Note that Show Painting Assistants is now set to 'on/ticked' but that assistants are not shown.
4. Note that the operation of Show Painting Assistants is now inverted with the Assistant Tool and with the painting tools.
5. Turn off Show Painting Assistants and create a new assistant.
(You can also delete an existing assistant to get the same result as in 6.)
6. Note that Show Painting Assistants now works normally. It has been inverted back to normal.


OBSERVED RESULT
See Steps to reproduce.

EXPECTED RESULT
It doesn't happen

SOFTWARE/OS VERSIONS
Krita

 Version: 4.3.0-prealpha (git dffa076)
 Languages: en_GB, en, en, en_GB, en
 Hidpi: true

Qt

  Version (compiled): 5.12.5
  Version (loaded): 5.12.5

OS Information

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

OpenGL Info
 
  Vendor:  "NVIDIA Corporation" 
  Renderer:  "GeForce GTX 750 Ti/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 418.74" 
  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 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false
Comment 1 Halla Rempt 2020-02-17 14:59:15 UTC
I don't even have to test this to confirm it :-)
Comment 2 M 2021-05-20 14:53:28 UTC
To add to this report, View > Show Painting Assistants can also get confused when going between multiple open documents after it was used to hide assistants in one of documents previously.

View > Show Assistant Previews seems to remain correctly in sync with the visibility of the helper preview in the current document.

View > Show Reference Images works as a global switch across all open documents. Maybe this option could also be changed to work per-document, that would be a bit more useful and consistent in my opinion.
Comment 3 Tiar 2021-09-22 12:08:20 UTC
Git commit 0da91363b998f02deb309f3581b1a88aa8a61edb by Agata Cacko.
Committed on 22/09/2021 at 11:57.
Pushed by tymond into branch 'master'.

Fix Show Painting Assistants to update correctly

Before this commit, if you opened two files with assistants,
and in one turned the View -> Show Painting Assistants off,
and then switch to the other file and to that same file again,
the View -> Show Painting Assistant would be "on" even though
the painting assistants wouldn't be drawn on the canvas
(only preview would be visible). And then switching it off
would actually turn the drawing of the assistants on.

Another way to reproduce this issue would be to open a new document,
create a new assistant, turn off Show Painting Assistant,
then create a new assistant. Show Painting Assistant now looks "on"
but the drawing of the assistants is still actually off (which is
correct and it's just the checkbox that should stay "off").

This commit fixes this behaviour and now the checkbox in the View menu
reflects correctly the current state of drawing the assistant.
Related: bug 399419

M  +1    -1    libs/ui/KisDecorationsManager.cpp
M  +1    -0    libs/ui/kis_painting_assistants_decoration.cpp

https://invent.kde.org/graphics/krita/commit/0da91363b998f02deb309f3581b1a88aa8a61edb
Comment 4 Tiar 2021-09-24 13:49:25 UTC
Git commit 476806ba2007faaad18df7fc9fa57dd4c3be9290 by Agata Cacko.
Committed on 24/09/2021 at 13:45.
Pushed by tymond into branch 'krita/5.0'.

Fix Show Painting Assistants to update correctly

Before this commit, if you opened two files with assistants,
and in one turned the View -> Show Painting Assistants off,
and then switch to the other file and to that same file again,
the View -> Show Painting Assistant would be "on" even though
the painting assistants wouldn't be drawn on the canvas
(only preview would be visible). And then switching it off
would actually turn the drawing of the assistants on.

Another way to reproduce this issue would be to open a new document,
create a new assistant, turn off Show Painting Assistant,
then create a new assistant. Show Painting Assistant now looks "on"
but the drawing of the assistants is still actually off (which is
correct and it's just the checkbox that should stay "off").

This commit fixes this behaviour and now the checkbox in the View menu
reflects correctly the current state of drawing the assistant.
Related: bug 399419

M  +1    -1    libs/ui/KisDecorationsManager.cpp
M  +1    -0    libs/ui/kis_painting_assistants_decoration.cpp

https://invent.kde.org/graphics/krita/commit/476806ba2007faaad18df7fc9fa57dd4c3be9290