Skip to content

Commit 6862e66

Browse files
committed
fix: prevent pending state failure in window platform interface
Remove Qt::QueuedConnection and value comparison to ensure pending operations always execute synchronously. QueuedConnection fails when stack variables go out of scope before execution. Removing the early return prevents state inconsistency when initial values match desired values. Treeland protocol currently lacks configure support, so all features must apply immediately. Log: 修复窗口平台接口中 pending 状态失败问题
1 parent fb25741 commit 6862e66

2 files changed

Lines changed: 1 addition & 3 deletions

File tree

src/plugins/platform/treeland/dtreelandplatformwindowinterface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ void DTreeLandPlatformWindowHelper::scheduleApply()
354354
if (m_applyScheduled)
355355
return;
356356
m_applyScheduled = true;
357-
QMetaObject::invokeMethod(this, &DTreeLandPlatformWindowHelper::applyPending, Qt::QueuedConnection);
357+
QMetaObject::invokeMethod(this, &DTreeLandPlatformWindowHelper::applyPending);
358358
}
359359

360360
void DTreeLandPlatformWindowHelper::applyPending()

src/plugins/platform/treeland/dtreelandplatformwindowinterface.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ private slots:
6363

6464
template<typename T>
6565
void updateFeature(T &member, const T &value, Feature flag) {
66-
if (member == value)
67-
return;
6866
member = value;
6967
m_initialized |= flag;
7068
m_dirty |= flag;

0 commit comments

Comments
 (0)