Masterwork From Distant Lands
ActivePublic

Authored by dkazakov on Aug 9 2017, 12:02 PM.
diff --git a/libs/image/tiles3/kis_random_accessor.cc b/libs/image/tiles3/kis_random_accessor.cc
index 838b397..9373ab8 100644
--- a/libs/image/tiles3/kis_random_accessor.cc
+++ b/libs/image/tiles3/kis_random_accessor.cc
@@ -118,7 +118,10 @@ const quint8* KisRandomAccessor2::rawDataConst() const
KisRandomAccessor2::KisTileInfo* KisRandomAccessor2::fetchTileData(qint32 col, qint32 row)
{
KisTileInfo* kti = new KisTileInfo;
- kti->tile = m_ktm->getTile(col, row, m_writable);
+
+ m_ktm->getTilesPair(col, row, m_writable, kti->tile, kti->oldtile);
+
+ //kti->tile = m_ktm->getTile(col, row, m_writable);
lockTile(kti->tile);
kti->data = kti->tile->data();
@@ -129,7 +132,7 @@ KisRandomAccessor2::KisTileInfo* KisRandomAccessor2::fetchTileData(qint32 col, q
kti->area_y2 = kti->area_y1 + KisTileData::WIDTH - 1;
// set old data
- kti->oldtile = m_ktm->getOldTile(col, row);
+ //kti->oldtile = m_ktm->getOldTile(col, row);
lockOldTile(kti->oldtile);
kti->oldData = kti->oldtile->data();
return kti;
diff --git a/libs/image/tiles3/kis_tiled_data_manager.h b/libs/image/tiles3/kis_tiled_data_manager.h
index f644a65..75fdf23 100644
--- a/libs/image/tiles3/kis_tiled_data_manager.h
+++ b/libs/image/tiles3/kis_tiled_data_manager.h
@@ -88,6 +88,14 @@ public:
return m_defaultPixel;
}
+ inline void getTilesPair(qint32 col, qint32 row, bool writable, KisTileSP &tile, KisTileSP &oldTile) {
+ tile = getTile(col, row, writable);
+ oldTile = m_mementoManager->getCommitedTile(col, row);
+ if (!oldTile) {
+ oldTile = tile;
+ }
+ }
+
inline KisTileSP getTile(qint32 col, qint32 row, bool writable) {
if (writable) {
bool newTile;
dkazakov edited the content of this paste. (Show Details)Aug 9 2017, 12:02 PM
dkazakov changed the title of this paste from untitled to Masterwork From Distant Lands.
dkazakov updated the paste's language from autodetect to autodetect.