diff options
Diffstat (limited to 'xorg-server/dix/grabs.c')
-rw-r--r-- | xorg-server/dix/grabs.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/xorg-server/dix/grabs.c b/xorg-server/dix/grabs.c index 5fd68202a..e3fc38bf5 100644 --- a/xorg-server/dix/grabs.c +++ b/xorg-server/dix/grabs.c @@ -199,12 +199,11 @@ AllocGrab(const GrabPtr src) free(grab); grab = NULL; } - } - - if (src && !CopyGrab(grab, src)) { - free(grab->xi2mask); - free(grab); - grab = NULL; + else if (src && !CopyGrab(grab, src)) { + free(grab->xi2mask); + free(grab); + grab = NULL; + } } return grab; |