[aseprite] 197/308: Fix cel opacity slider enabled-status when we click a new cel in the Timeline

Tobias Hansen thansen at moszumanska.debian.org
Tue Mar 8 02:45:10 UTC 2016


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch master
in repository aseprite.

commit 99d504a3aa800d6ada9f817813495c470347b6f2
Author: David Capello <davidcapello at gmail.com>
Date:   Mon Feb 1 15:21:17 2016 -0300

    Fix cel opacity slider enabled-status when we click a new cel in the Timeline
    
    The timeline must update its internal range before it fires an active
    site changed (Editor::setFrame/Layer()). So
    ContextObserver::onActiveSiteChange() observers can access the updated
    timeline range.
---
 src/app/ui/timeline.cpp | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/src/app/ui/timeline.cpp b/src/app/ui/timeline.cpp
index e48b1e9..8b4260f 100644
--- a/src/app/ui/timeline.cpp
+++ b/src/app/ui/timeline.cpp
@@ -354,10 +354,10 @@ bool Timeline::onProcessMessage(Message* msg)
           bool selectFrame = (mouseMsg->left() || !isFrameActive(m_clk.frame));
 
           if (selectFrame) {
-            setFrame(m_clk.frame);
-
             m_state = STATE_SELECTING_FRAMES;
             m_range.startRange(getLayerIndex(m_layer), m_clk.frame, Range::kFrames);
+
+            setFrame(m_clk.frame);
           }
           break;
         }
@@ -367,6 +367,9 @@ bool Timeline::onProcessMessage(Message* msg)
           bool selectLayer = (mouseMsg->left() || !isLayerActive(m_clk.layer));
 
           if (selectLayer) {
+            m_state = STATE_SELECTING_LAYERS;
+            m_range.startRange(m_clk.layer, m_frame, Range::kLayers);
+
             // Did the user select another layer?
             if (old_layer != m_clk.layer) {
               setLayer(m_layers[m_clk.layer]);
@@ -376,11 +379,6 @@ bool Timeline::onProcessMessage(Message* msg)
 
           // Change the scroll to show the new selected layer/cel.
           showCel(m_clk.layer, m_frame);
-
-          if (selectLayer) {
-            m_state = STATE_SELECTING_LAYERS;
-            m_range.startRange(m_clk.layer, m_frame, Range::kLayers);
-          }
           break;
         }
         case PART_LAYER_EYE_ICON:
@@ -397,6 +395,11 @@ bool Timeline::onProcessMessage(Message* msg)
             || !isFrameActive(m_clk.frame));
           frame_t old_frame = m_frame;
 
+          if (selectCel) {
+            m_state = STATE_SELECTING_CELS;
+            m_range.startRange(m_clk.layer, m_clk.frame, Range::kCels);
+          }
+
           // Select the new clicked-part.
           if (old_layer != m_clk.layer
             || old_frame != m_clk.frame) {
@@ -407,11 +410,6 @@ bool Timeline::onProcessMessage(Message* msg)
 
           // Change the scroll to show the new selected cel.
           showCel(m_clk.layer, m_frame);
-
-          if (selectCel) {
-            m_state = STATE_SELECTING_CELS;
-            m_range.startRange(m_clk.layer, m_clk.frame, Range::kCels);
-          }
           invalidate();
           break;
         }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git



More information about the Pkg-games-commits mailing list