1. 04 Jul, 2018 2 commits
    • Dmitry Kazakov's avatar
      Avoid a crash when merging layers in isolated mode · ecfc956d
      Dmitry Kazakov authored
      This patch fixes the crash, bit doesn't fix the entire
      problem. Now after the merge the isolated mode may either
      stay activated or not depending on random conditions.
      
      CCBUG:395981
      ecfc956d
    • Dmitry Kazakov's avatar
      Test for rectangular artifacts on transparency masks · cf035350
      Dmitry Kazakov authored
      The problem itself is not solved yet. Only a test that
      can reproduce it in a stable way is implemented.
      
      The only things that I know right now is:
      
      1) The problem is related to multithreading. It doesn't
         appear when the number of threads is limited to 1.
      
      2) Artifacts appear only after clearing the transparency
         paint device.
      
      3) Artifacts are neither present in the transparency mask
         paint device, nor in the projection of its parent layer.
      
      4) Artifacts appear in the final image projection, right
         when the async merger calls layer->projectionPlane()->
         ->apply().
      
      5) Changing dirtyRect in KisToolUtils::clearImage() to the
         entire image bounds doesn't help much.
      
      
      CCBUG:395273
      cf035350
  2. 03 Jul, 2018 3 commits
  3. 02 Jul, 2018 6 commits
  4. 01 Jul, 2018 4 commits
    • Tusooa Zhu's avatar
      Ten Brushes: Allow users to configure whether to enable the "Preset History" feature · dfa7cb56
      Tusooa Zhu authored
      Summary: Ten Brushes in Krita 4.0.4 offers the feature of "Preset History." If one press the shortcut for a preset for the second time, it switches to the previously selected preset. However, some users may be confused with this. This patch adds a check box in the Ten Brushes settings window, and allow users to enable or disable this feature. By default, Preset History will still be turned on.
      
      Test Plan:
      [0] Click on "Tools" menu -> "Scripting" -> "Ten Brushes"
      Expected: the check box is checked by default.
      
      [1] Open any document in Krita.
      
      [2] Select any brush preset using a shortcut.
      Expected: the brush is selected.
      
      [3] Press that shortcut again.
      Expected: the previous brush is selected.
      
      [4] Click on "Tools" menu -> "Scripting" -> "Ten Brushes."
      
      [5] Uncheck the check box, and press "OK."
      Expected: No error happens, and the dialog closes.
      
      [6] Selevct any other brush preset using a shortcut.
      Expected: The brush is selected.
      
      [7] Press that shortcut again.
      Expected: The brush is still selected. It does not switch to the previous preset.
      
      [8] Restart Krita, and click on "Tools" menu -> "Scripting" -> "Ten Brushes."
      Expected: The settings remain.
      
      [9] Repeat [6] and [7].
      Expected: The same as in [6] and [7], respectively.
      
      [10] The testing is done.
      
      Reviewers: #krita, dkazakov
      
      Reviewed By: #krita, dkazakov
      
      Subscribers: dkazakov
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D13697
      dfa7cb56
    • Dmitry Kazakov's avatar
      Fix loading of files with 'Box' transformation filter · 5f86c598
      Dmitry Kazakov authored
      Summary:
      We have released Krita with new name for the Box filter,
      so now we have two variants for the name of this filer,
      which is used in different places.
      
      This patch adds aliases support for KoGenericRegistry and
      makes 'Box' to be a variant for 'NearestNeighbour'
      
      BUG:395979
      
      Test Plan:
      0) Add the following section to kritarc
      ```
      [KisToolTransform]
      filterId=Box
      ```
      1) Start Krita
      2) Krita shouldn't crash
      3) Also try for other filter ids: Bicubic, NearestNeighbor, Bilinear
      
      Reviewers: #krita, rempt
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D13796
      5f86c598
    • Andrey Kamakin's avatar
      Added config file for hash table implementation switch. · 73125cb1
      Andrey Kamakin authored
      Ref T8874
      73125cb1
    • Script Kiddy's avatar
      GIT_SILENT made messages (after extraction) · 0ce8ef8d
      Script Kiddy authored
      0ce8ef8d
  5. 30 Jun, 2018 9 commits
    • Andrey Kamakin's avatar
      Code clean. · cdc285b5
      Andrey Kamakin authored
      Ref T8874
      cdc285b5
    • Andrey Kamakin's avatar
      Added compile time switch for hash tables. · 24975f88
      Andrey Kamakin authored
      Ref T8874
      24975f88
    • Andrey Kamakin's avatar
      Changed QSBR to clean more often. · 0ff58df2
      Andrey Kamakin authored
      Added sanity checks.
      
      Ref T8874
      0ff58df2
    • Boudewijn Rempt's avatar
      Remove unneeded QT definitions · 6eb14487
      Boudewijn Rempt authored
      * QT_USE_FAST_OPERATOR_PLUS is subset of set QT_USE_QSTRINGBUILDER
      * QT_USE_FAST_CONCATENATION got dropped pre-Qt5
      
      Copied from https://commits.kde.org/calligra/697cf600d511f236c15971c0d15f0645951cde26
      6eb14487
    • Boudewijn Rempt's avatar
      Fix build error on windows · eb030aa1
      Boudewijn Rempt authored
      I'm not totally sure what's up, but the double declaration doesn;t work:
      
      canning dependencies of target kritaui
      [ 55%] Building CXX object
      libs/ui/CMakeFiles/kritaui.dir/widgets/KisScreenColorPicker.cpp.obj
      C:\dev\krita\libs\ui\widgets\KisScreenColorPicker.cpp:275:83: warning:
      'KisDlgInternalColorSelector::s_screenColorPickerFactory' redeclared
      without dllimport attribute: previous dllimport ignored [-Wattributes]
       std::function<KisScreenColorPickerBase *(QWidget *)>
      KisDlgInternalColorSelector::s_screenColorPickerFactory =
      KisScreenColorPicker::createScreenColorPicker;
                                                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      C:\dev\krita\libs\ui\widgets\KisScreenColorPicker.cpp: In function 'void
      __tcf_3()':
      C:\dev\krita\libs\ui\widgets\KisScreenColorPicker.cpp:275:54: error:
      definition of static data member
      'KisDlgInternalColorSelector::s_screenColorPickerFactory' of dllimport'd
      class
       std::function<KisScreenColorPickerBase *(QWidget *)>
      KisDlgInternalColorSelector::s_screenColorPickerFactory =
      KisScreenColorPicker::createScreenColorPicker;
                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      libs\ui\CMakeFiles\kritaui.dir\build.make:6050: recipe for target
      'libs/ui/CMakeFiles/kritaui.dir/widgets/KisScreenColorPicker.cpp.obj'
      failed
      mingw32-make[2]: ***
      [libs/ui/CMakeFiles/kritaui.dir/widgets/KisScreenColorPicker.cpp.obj]
      Error 1
      CMakeFiles\Makefile2:18278: recipe for target
      'libs/ui/CMakeFiles/kritaui.dir/all' failed
      mingw32-make[1]: *** [libs/ui/CMakeFiles/kritaui.dir/all] Error 2
      Makefile:139: recipe for target 'all' failed
      mingw32-make: *** [all] Error 2
      eb030aa1
    • Boudewijn Rempt's avatar
      Fix export so windows build works · ba34e750
      Boudewijn Rempt authored
      ba34e750
    • Boudewijn Rempt's avatar
      Re-add Invert Selection to the menu · a99abe4a
      Boudewijn Rempt authored
      BUG:395764
      a99abe4a
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 026c5dec
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
      026c5dec
    • Michael Zhou's avatar
      Refactoring to Enable KisPaletteView to Be Used in More Widgets · b0c70d4c
      Michael Zhou authored
      KisPaletteView was in kritaui, which depends on kritawidgets. There are also several widgets in kritawidgets that have their own implementation for GUI of a palette. This revision moves KisPaletteView into kritawidgets so that these widgets can use it. This way, in future modification in the palette (or the color set), fewer work would be needed.
      
      The next step is to modify these widgets so that they use KisPaletteView instead of their own implementations.
      
      The following changes are made:
      
      + KisPaletteView, KisPaletteModel and KisPaletteDelegate are now in kritawidgets
      
      + KisDlgInternalColorSelector and the multiple classes used by it are now in kritawidgets, except for KisScreenColorPicker, which is still in kritaui. A dependency inversion is used to enable KisDlgInternalColorSelector to use it.
      
      + KisColorsetSelector is now inside kritawidgets
      
      + KisConfigNotifier in now in kritaglobal
      
      + KisColorButton and KisColorInput are now in kritawidgets
      
      + KisPopupButton is now in kritawidgets
      
      https://phabricator.kde.org/D13750
      b0c70d4c
  6. 29 Jun, 2018 1 commit
  7. 28 Jun, 2018 13 commits
  8. 27 Jun, 2018 2 commits