mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-17 13:20:45 +00:00
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.
This commit is contained in:
parent
3d23336815
commit
99d504a3aa
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user