summaryrefslogtreecommitdiff
path: root/src/xrstate.c
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2002-10-28 09:00:10 +0000
committerCarl Worth <cworth@cworth.org>2002-10-28 09:00:10 +0000
commitf64ebf489ba101ff99fb7910924f04291d272057 (patch)
tree2708551ebf88497148391bab8436c9afa0935a29 /src/xrstate.c
parent84da6c1f7f1877662ad3e83858e77872426e2f14 (diff)
Added XrStatusInvalidRestore. Fixed XrSurface memory leak.
Diffstat (limited to 'src/xrstate.c')
-rw-r--r--src/xrstate.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/xrstate.c b/src/xrstate.c
index 395bc97e..26b9f6e6 100644
--- a/src/xrstate.c
+++ b/src/xrstate.c
@@ -95,12 +95,13 @@ _XrStatePop(XrState *xrs)
{
XrGState *top;
- if (xrs->stack) {
- top = xrs->stack;
- xrs->stack = top->next;
+ if (xrs->stack == NULL)
+ return XrStatusInvalidRestore;
- _XrGStateDestroy(top);
- }
+ top = xrs->stack;
+ xrs->stack = top->next;
+
+ _XrGStateDestroy(top);
return XrStatusSuccess;
}