Diffusion Krita 4e340351ddc0

Fix a set of OCIO-related bugs

Authored by dkazakov on Aug 16 2017, 10:13 AM.

Description

Fix a set of OCIO-related bugs

  1. Don't reset LUT docker when moving the window over screens. We should actually check if the combo boxes contents is going to change or not in resetOcioConfiguration() and keep them intact if possible for not resetting the user's settings.

BUG:373481

  1. The display shader should be recompiled not when setDisplayFilter() is called, but when filter->updateShader() is called. The point is that quite a lot of filter updates happen without(!) recompiling the shader. And, obviously, the order of calls to updateShader() and setDisplayFilter() is generally undefined, so if we try to recompile it in setDisplayFilter() there might be still outdated version of it.
  1. Removed explicit initialization of the display filter in LutDockerDock::setCanvas(). The point is that the correct filter will be correctly initialized later in updateDisplaySettings(). And this extra call made Krita recompute the image 6(!) times when loading any image. That can take ages on complex images like miloor_turntable_002.kra
  1. Conflicts:
  2. plugins/dockers/lut/lutdocker_dock.cpp

Details

Committed
dkazakovAug 16 2017, 10:13 AM
Parents
R37:5a241e59d7d6: Start making scripts translatable
Branches
Unknown
Tags
Unknown