fix: bugs surfaced by new gtest coverage
- html.cpp: rgba() colors parsed with setRedF/GreenF/BlueF (0-1) while the writer emits 0-255 integers, so semi-transparent text colors lost their RGB on round-trip; parse with integer setters instead - CLIProgressDialog: percentage padding compared normalized progress (0.0-1.0) against 10/100, so padding was always fully applied; compute the percentage first - TimelineUndoPointer BlockTrimCommand: remove_block_from_graph_ was never initialized (UB on redo) - TimelineUndoGeneral TransitionRemoveCommand: track_ was never initialized; GetRelevantProject() could dereference it before redo() - ProjectLoadTask::Run(): failure path deleted project_ without resetting it, leaving GetLoadedProject() dangling
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
#include "config/config.h"
|
||||
#include "node/block/clip/clip.h"
|
||||
#include "node/block/gap/gap.h"
|
||||
#include "node/block/transition/transition.h"
|
||||
#include "node/output/track/track.h"
|
||||
#include "node/output/track/tracklist.h"
|
||||
#include "node/output/viewer/viewer.h"
|
||||
@@ -201,6 +202,7 @@ class TransitionRemoveCommand : public UndoCommand {
|
||||
public:
|
||||
TransitionRemoveCommand(TransitionBlock *block, bool remove_from_graph)
|
||||
: block_(block)
|
||||
, track_(block->track())
|
||||
, remove_from_graph_(remove_from_graph)
|
||||
, remove_command_(nullptr)
|
||||
{
|
||||
|
||||
@@ -52,6 +52,7 @@ public:
|
||||
, mode_(mode)
|
||||
, deleted_adjacent_command_(nullptr)
|
||||
, trim_is_a_roll_edit_(false)
|
||||
, remove_block_from_graph_(true)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user