Skip to content
Snippets Groups Projects

Fix raii_view_closer move ctor

Merged Jonathan Kunstwald requested to merge hotfix/view-close-nrvo into develop
1 file
+ 9
1
Compare changes
  • Side-by-side
  • Inline
@@ -151,6 +151,8 @@ struct raii_view_closer
@@ -151,6 +151,8 @@ struct raii_view_closer
private:
private:
bool const mMustCloseSubview; ///< If false, this view is inactive and integrates into the parent view
bool const mMustCloseSubview; ///< If false, this view is inactive and integrates into the parent view
 
bool isValid = true;
 
public:
public:
GLOW_RAII_CLASS(raii_view_closer);
GLOW_RAII_CLASS(raii_view_closer);
static std::vector<bool> sStackIsContainer;
static std::vector<bool> sStackIsContainer;
@@ -161,9 +163,15 @@ public:
@@ -161,9 +163,15 @@ public:
sStackIsContainer.push_back(false);
sStackIsContainer.push_back(false);
}
}
raii_view_closer(raii_view_closer&& rhs) noexcept : mMustCloseSubview(rhs.mMustCloseSubview) {}
raii_view_closer(raii_view_closer&& rhs) noexcept : mMustCloseSubview(rhs.mMustCloseSubview)
 
{
 
rhs.isValid = false;
 
}
~raii_view_closer()
~raii_view_closer()
{
{
 
if (!isValid)
 
return;
 
TG_ASSERT(!sStackIsContainer.empty() && "corrupted subview stack");
TG_ASSERT(!sStackIsContainer.empty() && "corrupted subview stack");
// remove self from subview stack
// remove self from subview stack
Loading