Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/interface/tree_view.cc
| Show First 20 Lines • Show All 105 Lines • ▼ Show 20 Lines | void AbstractTreeView::update_from_old(uiBlock &new_block) | ||||
| if (!old_block) { | if (!old_block) { | ||||
| /* Initial construction, nothing to update. */ | /* Initial construction, nothing to update. */ | ||||
| is_reconstructed_ = true; | is_reconstructed_ = true; | ||||
| return; | return; | ||||
| } | } | ||||
| uiTreeViewHandle *old_view_handle = ui_block_view_find_matching_in_old_block( | uiTreeViewHandle *old_view_handle = ui_block_view_find_matching_in_old_block( | ||||
| &new_block, reinterpret_cast<uiTreeViewHandle *>(this)); | &new_block, reinterpret_cast<uiTreeViewHandle *>(this)); | ||||
| BLI_assert(old_view_handle); | if (old_view_handle == nullptr) { | ||||
| is_reconstructed_ = true; | |||||
| return; | |||||
| } | |||||
| AbstractTreeView &old_view = reinterpret_cast<AbstractTreeView &>(*old_view_handle); | AbstractTreeView &old_view = reinterpret_cast<AbstractTreeView &>(*old_view_handle); | ||||
| /* Update own persistent data. */ | /* Update own persistent data. */ | ||||
| /* Keep the rename buffer persistent while renaming! The rename button uses the buffer's | /* Keep the rename buffer persistent while renaming! The rename button uses the buffer's | ||||
| * pointer to identify itself over redraws. */ | * pointer to identify itself over redraws. */ | ||||
| rename_buffer_ = std::move(old_view.rename_buffer_); | rename_buffer_ = std::move(old_view.rename_buffer_); | ||||
| old_view.rename_buffer_ = nullptr; | old_view.rename_buffer_ = nullptr; | ||||
| ▲ Show 20 Lines • Show All 690 Lines • Show Last 20 Lines | |||||