summaryrefslogtreecommitdiff
path: root/src/expr/expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/expr.cpp')
-rw-r--r--src/expr/expr.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/expr/expr.cpp b/src/expr/expr.cpp
index f94a3c438..2e3d7a7e2 100644
--- a/src/expr/expr.cpp
+++ b/src/expr/expr.cpp
@@ -22,16 +22,18 @@ Expr Expr::s_null(0);
Expr::Expr(ExprValue* ev)
: d_ev(ev) {
- d_ev->inc();
+ if(d_ev != 0)
+ d_ev->inc();
}
Expr::Expr(const Expr& e) {
- if((d_ev = e.d_ev))
+ if((d_ev = e.d_ev) && d_ev != 0)
d_ev->inc();
}
Expr::~Expr() {
- d_ev->dec();
+ if(d_ev)
+ d_ev->dec();
}
Expr& Expr::operator=(const Expr& e) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback