ci: sweep remaining QLatin1String::toUtf8; embed version obj in oakengine.dll

- pointer.cpp/transition.cpp: same Qt 6.4 incompatibility as import.cpp
- Windows: DLLs cannot have undefined symbols, so the
  executable-provides-k_app_version trick does not link; embed
  olive-version-obj into oakengine on WIN32 (each module keeps its own
  copy)
This commit is contained in:
2026-08-03 12:48:27 +08:00
parent 348881f558
commit 835d47244c
3 changed files with 11 additions and 4 deletions
+2 -2
View File
@@ -887,7 +887,7 @@ void PointerTool::finish_drag(TimelineViewMouseEvent *event)
oakengine_node_connect_command(
reinterpret_cast<OakEngineNode *>(it.value()),
reinterpret_cast<OakEngineNode *>(cp_in_transition),
QLatin1String(oakengine_transition_in_block_input_id()).toUtf8().constData(),
oakengine_transition_in_block_input_id(),
-1));
}
@@ -900,7 +900,7 @@ void PointerTool::finish_drag(TimelineViewMouseEvent *event)
oakengine_node_connect_command(
reinterpret_cast<OakEngineNode *>(it.value()),
reinterpret_cast<OakEngineNode *>(cp_out_transition),
QLatin1String(oakengine_transition_out_block_input_id()).toUtf8().constData(),
oakengine_transition_out_block_input_id(),
-1));
}
}
@@ -198,7 +198,7 @@ void TransitionTool::mouse_release(TimelineViewMouseEvent *event)
oakengine_node_connect_command(
reinterpret_cast<OakEngineNode *>(out_block),
transition,
QLatin1String(oakengine_transition_out_block_input_id()).toUtf8().constData(),
oakengine_transition_out_block_input_id(),
-1));
oakengine_undo_command_multi_add_child(
@@ -206,7 +206,7 @@ void TransitionTool::mouse_release(TimelineViewMouseEvent *event)
oakengine_node_connect_command(
reinterpret_cast<OakEngineNode *>(in_block),
transition,
QLatin1String(oakengine_transition_in_block_input_id()).toUtf8().constData(),
oakengine_transition_in_block_input_id(),
-1));
oakengine_undo_command_multi_add_child(command, oakengine_node_set_position_command(reinterpret_cast<void *>(out_block), reinterpret_cast<void *>(transition), -1, -0.5, 0));
+7
View File
@@ -55,6 +55,13 @@ add_library(oakengine-obj OBJECT
add_library(oakengine SHARED $<TARGET_OBJECTS:oakengine-obj>)
if (WIN32)
# Windows DLLs cannot have undefined symbols; embed the version objects
# here too (each module keeps its own copy, unlike ELF where the final
# executable provides the definition).
target_sources(oakengine PRIVATE $<TARGET_OBJECTS:olive-version-obj>)
endif ()
if (COMMAND oak_copy_otio_runtime)
oak_copy_otio_runtime(oakengine)
endif()