fix: crash when click close on preview window in some cases#1241
Merged
Conversation
修正在存在多个预览窗口时,点击中间的某个窗口的关闭按钮时,预览可能崩溃 的问题. Log:
deepin pr auto review这段代码改动主要涉及对容器访问方式的优化,我来分析一下改进点和潜在问题:
a) 异常处理:
b) 性能考虑:
c) 代码一致性:
d) 防御性编程:
建议的改进代码: QVariant DockGlobalElementModel::data(const QModelIndex &index, int role) const
{
// 显式边界检查
if (index.row() < 0 || index.row() >= m_data.size()) {
return {};
}
try {
auto data = m_data.at(index.row());
auto id = std::get<0>(data);
auto model = std::get<1>(data);
auto row = std::get<2>(data);
// ... 其余代码
} catch (const std::out_of_range& e) {
qWarning() << "Out of range access in data:" << e.what();
return {};
}
}这样的改进既保证了安全性,又提供了更好的错误处理机制,同时保持了代码的健壮性。 |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR prevents crashes when closing preview windows by tightening index boundary checks and switching to bounds-checked access on the m_data container in DockGlobalElementModel. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
18202781743
approved these changes
Sep 5, 2025
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 18202781743, BLumia The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
修正在存在多个预览窗口时,点击中间的某个窗口的关闭按钮时,预览可能崩溃的问题.
Summary by Sourcery
Prevent crashes when closing preview windows in multi-window scenarios by tightening index bounds checks and switching to at() for data retrieval.
Bug Fixes: