Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2012-03-19 21:03:47 +0000
committerStijn Buys <ingar@osirion.org>2012-03-19 21:03:47 +0000
commitc4cd091c43ade80033f41c1ceda5c9f51979dcbc (patch)
tree91b7b73cda8847c571d7aeaa7c38cfb48ce0a860 /src/ui/modelview.cc
parent3c66f020bbe244e85da8cd92208b69cdba83ab97 (diff)
Resolved a ModelView related segfault when opening the buy menu and a potental segfault in the inventory window.
Diffstat (limited to 'src/ui/modelview.cc')
-rwxr-xr-xsrc/ui/modelview.cc31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/ui/modelview.cc b/src/ui/modelview.cc
index 79544bb..033e4e3 100755
--- a/src/ui/modelview.cc
+++ b/src/ui/modelview.cc
@@ -47,33 +47,34 @@ void ModelView::print(const size_t indent) const
con_print << aux::pad_left(marker, indent*2) << label() << " \"" << modelname() << "\"" << std::endl;
}
-void ModelView::set_globetexturename(const std::string & texturename, const bool bright, const std::string & coronaname)
-{
- modelview_globetexturename.assign(texturename);
- modelview_globecoronaname.assign(coronaname);
- modelview_globebright = bright;
-
+void ModelView::clear()
+{
set_background(false);
+
modelview_axis.clear();
modelview_axis.change_direction(180);
modelview_axis.change_pitch(-15);
modelview_zoom = 1.0f;
+
modelview_modelname.clear();
+ modelview_globetexturename.clear();
+ modelview_globecoronaname.clear();
+ modelview_globebright = false;
+}
+
+void ModelView::set_globetexturename(const std::string & texturename, const bool bright, const std::string & coronaname)
+{
+ clear();
+ modelview_globetexturename.assign(texturename);
+ modelview_globecoronaname.assign(coronaname);
+ modelview_globebright = bright;
}
void ModelView::set_modelname(const std::string & modelname)
{
+ clear();
modelview_modelname.assign(modelname);
-
- set_background(false);
- modelview_axis.clear();
- modelview_axis.change_direction(180);
- modelview_axis.change_pitch(-15);
- modelview_zoom = 1.0f;
- modelview_globetexturename.clear();
- modelview_globecoronaname.clear();
- modelview_globebright = false;
}
void ModelView::set_colors(const math::Color & color_primary, const math::Color & color_secondary)