# SDL: Fixed return value of SDL\_GetGrabbedWindow() when we have an internal grab because of mouse relative mode

**URL:** <https://discourse.libsdl.org/t/sdl-fixed-return-value-of-sdl-getgrabbedwindow-when-we-have-an-internal-grab-because-of-mouse-relative-mode/32516>\
**Category:** SDL Commits\
**Created:** [August 13, 2021, 6:08pm UTC](https://discourse.libsdl.org/t/sdl-fixed-return-value-of-sdl-getgrabbedwindow-when-we-have-an-internal-grab-because-of-mouse-relative-mode/32516 "2021-08-13T18:08:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SDLPushPostBot](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/sdlpushpostbot/32/4370_2.png) [@SDLPushPostBot](https://discourse.libsdl.org/u/SDLPushPostBot)\
**Post date:** [August 13, 2021, 6:08pm UTC](https://discourse.libsdl.org/t/sdl-fixed-return-value-of-sdl-getgrabbedwindow-when-we-have-an-internal-grab-because-of-mouse-relative-mode/32516/1 "2021-08-13T18:08:08Z")

</div>

> <https://github.com/libsdl-org/SDL/commit/629e9f820a3ab80e7671ab3133a448f56252f1da>

```diff
From 629e9f820a3ab80e7671ab3133a448f56252f1da Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 13 Aug 2021 11:06:43 -0700
Subject: [PATCH] Fixed return value of SDL_GetGrabbedWindow() when we have an
 internal grab because of mouse relative mode

---
 src/video/SDL_video.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index 38e6030822..160190da9d 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -2809,10 +2809,12 @@ SDL_GetWindowMouseGrab(SDL_Window * window)
 SDL_Window *
 SDL_GetGrabbedWindow(void)
 {
- SDL_assert(!_this->grabbed_window ||
- ((_this->grabbed_window->flags & SDL_WINDOW_MOUSE_GRABBED) != 0) ||
- ((_this->grabbed_window->flags & SDL_WINDOW_KEYBOARD_GRABBED) != 0));
- return _this->grabbed_window;
+ if (_this->grabbed_window &&
+ (_this->grabbed_window->flags & (SDL_WINDOW_MOUSE_GRABBED|SDL_WINDOW_KEYBOARD_GRABBED)) != 0) {
+ return _this->grabbed_window;
+ } else {
+ return NULL;
+ }
 }
 
 int

```
