Bug 257532

Summary: Clone layers are not updated properly right after the loading of the image
Product: [Applications] krita Reporter: Dmitry Kazakov <dimula73>
Component: GeneralAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Dmitry Kazakov 2010-11-21 18:31:13 UTC
Version:           unspecified
OS:                Linux

It happens on a special type of images where the clone layer is below it's source:

root
-paintLayer
-cloneLayer

This happens with CLONE_PROJECTION mode, because KisFullRefreshVisitor tries to update a clone layer before the source layer is rendered.

Reproducible: Didn't try
Comment 1 Dmitry Kazakov 2010-11-21 23:04:42 UTC
SVN commit 1199447 by dkazakov:

Fixed a full refresh for Clone layers

Now the Async Merger knows about one more type of layer position:
N_EXTRA. Such layer will be counted in a need rect chain and will be
updated (original+projection), but it will not be merged into  the
final projection of the image. This is done for preliminary updates of
the sources of Clone layers.

Btw, i would suggest everyone to perform 'make clean' in
./krita/image/ folder, because many parts of walkers are
inlined. There is no need to do a full clean, just in ./image/
directory.

CCMAIL:kimageshop@kde.org
BUG:257532


 M  +13 -0     kis_async_merger.h  
 M  +8 -7      kis_base_rects_walker.h  
 M  +27 -0     kis_full_refresh_walker.h  
 M  +4 -4      kis_node.h  
 M  +70 -0     tests/kis_async_merger_test.cpp  
 M  +1 -0      tests/kis_async_merger_test.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1199447
Comment 2 Ganesh Paramasivam 2010-12-06 18:43:57 UTC
commit ad86aaa20d4604b2bed16c9f493fcca2ddb79c7a
branch words-change_tracking-ganeshp
Merge: 7cfdc06 e20e0ca
Author: Ganesh Paramasivam <ganesh@crystalfab.com>
Date:   Mon Nov 22 04:17:42 2010 +0000

    Merged revisions 1197258,1197287,1197309,1197315,1197345,1197348-1197350,1197391-1197393,1197398,1197599,1197608,1197656,1197739,1197749,1197766-1197767,1197783,1197838,1197965,1198098,1198117,1198207,1198231,1198402,1198450,1198459,1198502,1198696,1198728-1198729,1198742,1198769,1198772,1198799,1198803,1198810,1198816,1198824-1198825,1198838,1198847,1198898,1199003-1199004,1199022,1199034,1199038-1199040,1199049,1199053,1199060-1199064,1199069,1199100,1199105,1199160,1199240,1199242,1199261,1199264,1199266,1199269,1199272,1199295,1199348,1199370,1199381,1199447 via svnmerge from
    svn+ssh://ganeshp@svn.kde.org/home/kde/trunk/koffice
    
    ........
      r1197258 | lassin | 2010-11-15 15:00:05 +0530 (Mon, 15 Nov 2010) | 2 lines
    
      Minor style & performance improvement to ooxml.
    ........
      r1197287 | lassin | 2010-11-15 16:03:13 +0530 (Mon, 15 Nov 2010) | 2 lines
    
      Re-enabled docx filter to support negative indentation.
    ........
      r1197309 | lassin | 2010-11-15 16:46:20 +0530 (Mon, 15 Nov 2010) | 2 lines
    
      Fixed docx to understand Choice introduced by msoffice 2010 between VML & DrawingML(Not supported atm)
    ........
      r1197315 | lassin | 2010-11-15 17:22:09 +0530 (Mon, 15 Nov 2010) | 2 lines
    
      Added settings.xml to ooxml filter output.
    ........
      r1197345 | berger | 2010-11-15 19:02:03 +0530 (Mon, 15 Nov 2010) | 2 lines
    
      remove this debug line, it is not usefull and it is triggering exit problem
    ........
      r1197348 | dfaure | 2010-11-15 19:11:50 +0530 (Mon, 15 Nov 2010) | 3 lines
    
      Port away from KoFactory/KParts::Factory - just reimplement KPluginFactory::create directly - so that kword
      works with kdelibs-in-mobile-profile.
    ........
      r1197349 | dfaure | 2010-11-15 19:19:29 +0530 (Mon, 15 Nov 2010) | 2 lines
    
      Update api docs not to mention KParts::Factory::createPart.
    ........
      r1197350 | lassin | 2010-11-15 19:31:21 +0530 (Mon, 15 Nov 2010) | 2 lines
    
      Added vertial information to docx pictures.
    ........
      r1197391 | mkruisselbrink | 2010-11-15 22:14:02 +0530 (Mon, 15 Nov 2010) | 1 line
    
      don't crash when a document doesn't contain any tables
    ........
      r1197392 | mkruisselbrink | 2010-11-15 22:14:04 +0530 (Mon, 15 Nov 2010) | 1 line
    
      deprecated--
    ........
      r1197393 | mkruisselbrink | 2010-11-15 22:14:09 +0530 (Mon, 15 Nov 2010) | 1 line
    
      port all the other factories to non-deprecated KPluginFactory api's
    ........
      r1197398 | uzak | 2010-11-15 22:31:32 +0530 (Mon, 15 Nov 2010) | 2 lines
    
      DOC: Added support for simple MACROBUTTON field.
    ........
      r1197599 | mkruisselbrink | 2010-11-16 14:20:04 +0530 (Tue, 16 Nov 2010) | 1 line
    
      directly create sheets with their correct name; this prevents crashes when default-named sheets exist in the document, but are out of order
    ........
      r1197608 | hanzes | 2010-11-16 15:18:56 +0530 (Tue, 16 Nov 2010) | 1 line
    
      Added support for hyperlinks in kpresenter presentation mode
    ........
      r1197656 | lassin | 2010-11-16 16:35:28 +0530 (Tue, 16 Nov 2010) | 2 lines
    
      Fixed docx filter to support colored bullets (note that kword does not support them yet).
    ........
      r1197739 | scripty | 2010-11-16 17:14:14 +0530 (Tue, 16 Nov 2010) | 1 line
    
      SVN_SILENT made messages (.desktop file)
    ........
      r1197749 | lassin | 2010-11-16 17:27:58 +0530 (Tue, 16 Nov 2010) | 2 lines
    
      Fix a crash when trying to open pptx files created by ooimpress. (As it doesn't create defaultStyles)
    ........
      r1197766 | vandenoever | 2010-11-16 19:00:16 +0530 (Tue, 16 Nov 2010) | 1 line
    
      Fix detection of OpenOffice sdk for Fedora 14.
    ........
      r1197767 | vandenoever | 2010-11-16 19:00:48 +0530 (Tue, 16 Nov 2010) | 3 lines
    
      Fix API for downloading document.
      Google now reports every click on the search page back to google before it does a redirect. By introspecting the urls we avoid this.
      Beware of you privacy!.
    ........
      r1197783 | lassin | 2010-11-16 19:32:58 +0530 (Tue, 16 Nov 2010) | 2 lines
    
      Small code cleanup to docx filter.
    ........
      r1197838 | uzak | 2010-11-16 23:49:43 +0530 (Tue, 16 Nov 2010) | 2 lines
    
      DOC: Added basic support for these fields: AUTHOR, EDITTIME, FILENAME
    ........
      r1197965 | berger | 2010-11-17 14:07:49 +0530 (Wed, 17 Nov 2010) | 4 lines
    
      Fix startup crash, create the about data in the aboutdata() function
    
      BUG: 257100
    ........
      r1198098 | berger | 2010-11-17 17:17:21 +0530 (Wed, 17 Nov 2010) | 6 lines
    
      Fix: crash when removing a view.
    
      BUG: 254264
    
      Reviewed in http://svn.reviewboard.kde.org/r/5838/
    ........
      r1198117 | lassin | 2010-11-17 19:12:31 +0530 (Wed, 17 Nov 2010) | 2 lines
    
      Fixed a pptx bug where sometimes placeholders form slidelayout were in slides when they shouldn't have.
    ........
      r1198207 | dkazakov | 2010-11-18 02:37:25 +0530 (Thu, 18 Nov 2010) | 20 lines
    
      Fixed several bugs in KisPerspectiveGridManager
    
      What is done:
      1) Now the manager doesn't even try to paint the lines inside the
         polygon that is not convex. It used to lead to a really weird
         picture of a hedgehog on a user's screen :P
      2) Fixed an "infinity"-bug. Eigen::Hyperplane::intersection() returns
         a random point in case the lines are parallel. Now an additional
         check returns a point somewhere around infinity to workaround this
         behavior.
      3) Changed the algorithm that chooses a line to chop up into
         "subdivisions". Now the farthest line from the focus is used for
         the division.
    
      Still to be done:
      - Make KisPerspectiveGridTool interactive. It will be a really short
        fix. I just need to overcome a small infinite loop somewhere ;)
    
      BUG:251731
    ........
      r1198231 | abeaumont | 2010-11-18 04:02:07 +0530 (Thu, 18 Nov 2010) | 5 lines
    
      Add a new 'namespace' parameter to content saving method, which defaults to
      'math', the proper namespaec for ODF.
      Modify load/saving testsuite to make use of empty namespace to fix tests
      broken when 'math' namespace was first introduced (hardcoded)
    ........
      r1198402 | ganeshp | 2010-11-18 15:14:17 +0530 (Thu, 18 Nov 2010) | 1 line
    
      Fix for bug 243923: Check whether we are working with an existing block (in which case this is actually a paste and so the pragraph style should not be applied) before setting a paragraph style
    ........
      r1198450 | breitmeyer | 2010-11-18 19:41:13 +0530 (Thu, 18 Nov 2010) | 3 lines
    
      marked the test that were expected to fail accordingly,
      so the tests won't show errors
    ........
      r1198459 | uzak | 2010-11-18 20:11:50 +0530 (Thu, 18 Nov 2010) | 2 lines
    
      DOC: Added initial support for the SYMBOL field.
    ........
      r1198502 | langkamp | 2010-11-18 23:04:07 +0530 (Thu, 18 Nov 2010) | 1 line
    
      disable brush editor, not ready for release
    ........
      r1198696 | scripty | 2010-11-19 15:22:47 +0530 (Fri, 19 Nov 2010) | 1 line
    
      SVN_SILENT made messages (.desktop file)
    ........
      r1198728 | lassin | 2010-11-19 19:26:09 +0530 (Fri, 19 Nov 2010) | 2 lines
    
      Fixed shape placement bugs in pptx.
    ........
      r1198729 | uzak | 2010-11-19 19:29:51 +0530 (Fri, 19 Nov 2010) | 2 lines
    
      DOC: Added support for the TITLE field.  Improved instructions suport of the SYMBOL field.
    ........
      r1198742 | lassin | 2010-11-19 20:18:33 +0530 (Fri, 19 Nov 2010) | 2 lines
    
      Fixed ooxml drawingML to have blipfill as one possible fill.
    ........
      r1198769 | pavelheimlich | 2010-11-19 22:32:04 +0530 (Fri, 19 Nov 2010) | 2 lines
    
      Qt macro should not be followed by a semicolon. Fixes build with Sun Studio
    ........
      r1198772 | pavelheimlich | 2010-11-19 22:44:11 +0530 (Fri, 19 Nov 2010) | 2 lines
    
      since qt4.7 QString cannot be initialized by int
    ........
      r1198799 | dkazakov | 2010-11-20 01:35:33 +0530 (Sat, 20 Nov 2010) | 7 lines
    
      Made KisToolPerspectiveGrid work in interactive mode
    
      There was a bug that lead to an infinite loop. It happened due to a
      (NaN,NaN) intersection points those appeared after calculation of
      intersection of null-length lines %). Now we just check for the length
      of the line.
    ........
      r1198803 | uzak | 2010-11-20 01:44:34 +0530 (Sat, 20 Nov 2010) | 2 lines
    
      PPT: Small update of the bullet size processing.
    ........
      r1198810 | berger | 2010-11-20 01:55:22 +0530 (Sat, 20 Nov 2010) | 4 lines
    
      Fix: dolphin/plasma hangs when launching Krita
    
      BUG: 233871
    ........
      r1198816 | pavelheimlich | 2010-11-20 02:43:21 +0530 (Sat, 20 Nov 2010) | 2 lines
    
      since Qt 4.7, QString cannot be initialized by int
    ........
      r1198824 | staniek | 2010-11-20 03:13:02 +0530 (Sat, 20 Nov 2010) | 1 line
    
      fix memory leak in mysql driver
    ........
      r1198825 | staniek | 2010-11-20 03:18:14 +0530 (Sat, 20 Nov 2010) | 2 lines
    
      SVN_SILENT update
    ........
      r1198838 | pavolk | 2010-11-20 04:24:50 +0530 (Sat, 20 Nov 2010) | 1 line
    
      inline object can be inserted with specified char format
    ........
      r1198847 | staniek | 2010-11-20 05:32:04 +0530 (Sat, 20 Nov 2010) | 2 lines
    
      global objects of type Property not needed; fixes crash of library unload in Kexi
    ........
      r1198898 | dkazakov | 2010-11-20 13:48:13 +0530 (Sat, 20 Nov 2010) | 4 lines
    
      The full image refresh should be done on document loading only
    
      BUG:257264
    ........
      r1199003 | rempt | 2010-11-20 16:01:28 +0530 (Sat, 20 Nov 2010) | 1 line
    
      Fix warning
    ........
      r1199004 | rempt | 2010-11-20 16:01:31 +0530 (Sat, 20 Nov 2010) | 1 line
    
      remove deprecated qt3 stuff
    ........
      r1199022 | rempt | 2010-11-20 17:06:34 +0530 (Sat, 20 Nov 2010) | 3 lines
    
      Do not use the deprecated KCategoryDrawer
    
      (Though it's a mystery why it's deprecated.)
    ........
      r1199034 | rempt | 2010-11-20 17:36:26 +0530 (Sat, 20 Nov 2010) | 1 line
    
      q3--
    ........
      r1199038 | zander | 2010-11-20 18:10:56 +0530 (Sat, 20 Nov 2010) | 1 line
    
      Move comment
    ........
      r1199039 | zander | 2010-11-20 18:10:58 +0530 (Sat, 20 Nov 2010) | 6 lines
    
      Fix test to pass even with optical alignment
    
      In newer versions of the base libraries (Qt and lower) a new
      feature was introduced which makes text rendering look much nicer
      but it broke our test which assumed simpler algoritmns.
      Fix test and make regressions go away.
    ........
      r1199040 | zander | 2010-11-20 18:40:23 +0530 (Sat, 20 Nov 2010) | 6 lines
    
      Fix Minimised dockers are hiding name.
    
      Patch from Rahul Das, thanks a lot for fixing this issue :)
    
      BUG: 201160
      CCMAIL: h.rahuldas@gmail.com
    ........
      r1199049 | rempt | 2010-11-20 19:19:47 +0530 (Sat, 20 Nov 2010) | 1 line
    
      deprecated--
    ........
      r1199053 | rempt | 2010-11-20 19:30:42 +0530 (Sat, 20 Nov 2010) | 1 line
    
      deprecated--
    ........
      r1199060 | rempt | 2010-11-20 19:39:38 +0530 (Sat, 20 Nov 2010) | 1 line
    
      remove some deprecated items
    ........
      r1199061 | rempt | 2010-11-20 19:39:44 +0530 (Sat, 20 Nov 2010) | 1 line
    
      warning--
    ........
      r1199062 | rempt | 2010-11-20 19:39:48 +0530 (Sat, 20 Nov 2010) | 1 line
    
      qt3--
    ........
      r1199063 | rempt | 2010-11-20 19:39:52 +0530 (Sat, 20 Nov 2010) | 1 line
    
      qt3--
    ........
      r1199064 | rempt | 2010-11-20 19:39:56 +0530 (Sat, 20 Nov 2010) | 1 line
    
      qt3--
    ........
      r1199069 | rempt | 2010-11-20 20:10:01 +0530 (Sat, 20 Nov 2010) | 1 line
    
      deprecated only from 4.5 onwards
    ........
      r1199100 | rempt | 2010-11-20 21:56:56 +0530 (Sat, 20 Nov 2010) | 1 line
    
      restore braces
    ........
      r1199105 | berger | 2010-11-20 22:19:08 +0530 (Sat, 20 Nov 2010) | 3 lines
    
      make the krita benchmarks runed with "make benchmark" instead of "make test"
    ........
      r1199160 | zander | 2010-11-21 03:19:15 +0530 (Sun, 21 Nov 2010) | 3 lines
    
      Fix loading underline from kwd
    
      BUG: 256641
    ........
      r1199240 | dkazakov | 2010-11-21 14:16:34 +0530 (Sun, 21 Nov 2010) | 4 lines
    
      Fix Clone Layer loading
    
      The link to the source layer should be initialized.
    ........
      r1199242 | berger | 2010-11-21 14:45:39 +0530 (Sun, 21 Nov 2010) | 4 lines
    
      add some guards to avoid dividing by 0
    
      CCBUG:255617
    ........
      r1199261 | dkazakov | 2010-11-21 15:20:23 +0530 (Sun, 21 Nov 2010) | 6 lines
    
      Make proper default values for KisTransformationMask
    
      KisKraSaverTest uses default constructed value of the mask for the
      testing so change the default scale to a sane value. Nevertheless we
      don't use these masks anywhere yet.
    ........
      r1199264 | berger | 2010-11-21 15:53:55 +0530 (Sun, 21 Nov 2010) | 2 lines
    
      move the full detection of lcms2 up
    ........
      r1199266 | berger | 2010-11-21 16:01:47 +0530 (Sun, 21 Nov 2010) | 4 lines
    
      excludes some files from testing from now on 64bits and lcms
    
      tracked in https://bugs.kde.org/show_bug.cgi?id=257498 and https://bugs.kde.org/show_bug.cgi?id=257499
    ........
      r1199269 | berger | 2010-11-21 16:13:19 +0530 (Sun, 21 Nov 2010) | 2 lines
    
      64bits and 32bits have different FPU and different results
    ........
      r1199272 | mkruisselbrink | 2010-11-21 17:00:45 +0530 (Sun, 21 Nov 2010) | 1 line
    
      make the signature in the header file match that of the implementation
    ........
      r1199295 | berger | 2010-11-21 20:32:15 +0530 (Sun, 21 Nov 2010) | 2 lines
    
      allow testfiles to get fuzzy parameter
    ........
      r1199348 | dkazakov | 2010-11-21 22:45:47 +0530 (Sun, 21 Nov 2010) | 5 lines
    
      Removed deprecated stuff
    
      - repaintOriginal() was deprecated by the beginning of February
      - steDirty()'s are useless because the image is locked while loading
    ........
      r1199370 | berger | 2010-11-21 23:30:22 +0530 (Sun, 21 Nov 2010) | 2 lines
    
      add the benchmarks to the benchmark target instead of test
    ........
      r1199381 | berger | 2010-11-22 00:34:43 +0530 (Mon, 22 Nov 2010) | 2 lines
    
      make sure version 0.9.13 or higher is used now
    ........
      r1199447 | dkazakov | 2010-11-22 03:35:03 +0530 (Mon, 22 Nov 2010) | 16 lines
    
      Fixed a full refresh for Clone layers
    
      Now the Async Merger knows about one more type of layer position:
      N_EXTRA. Such layer will be counted in a need rect chain and will be
      updated (original+projection), but it will not be merged into  the
      final projection of the image. This is done for preliminary updates of
      the sources of Clone layers.
    
      Btw, i would suggest everyone to perform 'make clean' in
      ./krita/image/ folder, because many parts of walkers are
      inlined. There is no need to do a full clean, just in ./image/
      directory.
    
      CCMAIL:kimageshop@kde.org
      BUG:257532
    ........
    
    svn path=/branches/work/koffice-change-tracking/; revision=1199500