"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libs/ui/tool/strokes/move_stroke_strategy.cpp" between
krita-5.1.3.tar.xz and krita-5.1.4.tar.xz

About: Krita is a painting program offering art tools for everyone (concept art, texture and matte painters, illustrations and comics).

move_stroke_strategy.cpp  (krita-5.1.3.tar.xz):move_stroke_strategy.cpp  (krita-5.1.4.tar.xz)
skipping to change at line 22 skipping to change at line 22
#include "commands_new/kis_update_command.h" #include "commands_new/kis_update_command.h"
#include "commands_new/kis_node_move_command2.h" #include "commands_new/kis_node_move_command2.h"
#include "kis_layer_utils.h" #include "kis_layer_utils.h"
#include "krita_utils.h" #include "krita_utils.h"
#include "KisRunnableStrokeJobData.h" #include "KisRunnableStrokeJobData.h"
#include "KisRunnableStrokeJobUtils.h" #include "KisRunnableStrokeJobUtils.h"
#include "KisRunnableStrokeJobsInterface.h" #include "KisRunnableStrokeJobsInterface.h"
#include "kis_abstract_projection_plane.h" #include "kis_abstract_projection_plane.h"
#include "kis_image.h" #include "kis_image.h"
#include "kis_image_animation_interface.h"
#include "kis_raster_keyframe_channel.h"
#include "KisAnimAutoKey.h"
#include "kis_transform_mask.h" #include "kis_transform_mask.h"
#include "kis_transform_mask_params_interface.h" #include "kis_transform_mask_params_interface.h"
#include "kis_keyframe_channel.h" #include "kis_keyframe_channel.h"
#include "kis_scalar_keyframe_channel.h" #include "kis_scalar_keyframe_channel.h"
#include "kis_image_animation_interface.h" #include "kis_image_animation_interface.h"
#include "commands_new/KisSimpleModifyTransformMaskCommand.h" #include "commands_new/KisSimpleModifyTransformMaskCommand.h"
/* MoveNodeStrategyBase and descendants /* MoveNodeStrategyBase and descendants
* *
skipping to change at line 306 skipping to change at line 309
std::tie(m_nodes, m_blacklistedNodes) = *m_sharedNodes; std::tie(m_nodes, m_blacklistedNodes) = *m_sharedNodes;
} }
if (m_nodes.isEmpty()) { if (m_nodes.isEmpty()) {
emit sigStrokeStartedEmpty(); emit sigStrokeStartedEmpty();
return; return;
} }
QVector<KisRunnableStrokeJobData*> jobs; QVector<KisRunnableStrokeJobData*> jobs;
if (KisAutoKey::activeMode() > KisAutoKey::NONE) {
KritaUtils::addJobBarrier(jobs, [this]() {
Q_FOREACH(KisNodeSP node, m_nodes) {
if (node->hasEditablePaintDevice()) {
// Try to create a copy keyframe if available.
KisPaintDeviceSP device = node->paintDevice();
KIS_ASSERT(device);
if (device->keyframeChannel()) {
KUndo2CommandSP undo(new KUndo2Command);
const int activeKeyframe = device->keyframeChannel()
->activeKeyframeTime();
const int targetKeyframe = node->image()->animationI
nterface()->currentTime();
device->keyframeChannel()->copyKeyframe(activeKeyfra
me, targetKeyframe, undo.data());
runAndSaveCommand(undo, KisStrokeJobData::BARRIER, K
isStrokeJobData::NORMAL);
}
}
}
});
}
KritaUtils::addJobBarrier(jobs, [this]() { KritaUtils::addJobBarrier(jobs, [this]() {
Q_FOREACH(KisNodeSP node, m_nodes) { Q_FOREACH(KisNodeSP node, m_nodes) {
KisLayerUtils::forceAllHiddenOriginalsUpdate(node); KisLayerUtils::forceAllHiddenOriginalsUpdate(node);
} }
}); });
KritaUtils::addJobBarrier(jobs, [this]() { KritaUtils::addJobBarrier(jobs, [this]() {
Q_FOREACH(KisNodeSP node, m_nodes) { Q_FOREACH(KisNodeSP node, m_nodes) {
KisLayerUtils::forceAllDelayedNodesUpdate(node); KisLayerUtils::forceAllDelayedNodesUpdate(node);
} }
 End of changes. 2 change blocks. 
0 lines changed or deleted 26 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)