diff options
author | Michael Cardell Widerkrantz <mc@hack.org> | 2011-06-04 11:44:18 +0200 |
---|---|---|
committer | Michael Cardell Widerkrantz <mc@hack.org> | 2011-06-04 11:44:18 +0200 |
commit | 851e69a1ae038270ed843d83b55392821f360967 (patch) | |
tree | 145c0469b107cc4763afdeec5167cff24bac740f | |
parent | 515b37224ae262afbad12d1f9f88bfc9d81bcabe (diff) | |
download | mcwm-851e69a1ae038270ed843d83b55392821f360967.zip |
When we get a ConfigureRequest for coords or size we need to update
the client.
-rw-r--r-- | mcwm.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -3618,9 +3618,18 @@ void events(void) uint32_t mask = 0; uint32_t values[7]; int i = -1; + struct client *client; PDEBUG("event: Configure request. mask = %d\n", e->value_mask); + /* Find the client. */ + client = findclient(e->window); + if (NULL == client) + { + /* Sorry, but we don't know about this window. */ + break; + } + /* * We ignore border width configurations, but handle all * others. @@ -3632,6 +3641,7 @@ void events(void) mask |= XCB_CONFIG_WINDOW_X; i ++; values[i] = e->x; + client->x = e->x; } if (e->value_mask & XCB_CONFIG_WINDOW_Y) @@ -3640,6 +3650,7 @@ void events(void) mask |= XCB_CONFIG_WINDOW_Y; i ++; values[i] = e->y; + client->y = e->y; } if (e->value_mask & XCB_CONFIG_WINDOW_WIDTH) @@ -3648,6 +3659,7 @@ void events(void) mask |= XCB_CONFIG_WINDOW_WIDTH; i ++; values[i] = e->width; + client->width = e->width; } if (e->value_mask & XCB_CONFIG_WINDOW_HEIGHT) @@ -3656,6 +3668,7 @@ void events(void) mask |= XCB_CONFIG_WINDOW_HEIGHT; i ++; values[i] = e->height; + client->height = e->height; } if (e->value_mask & XCB_CONFIG_WINDOW_SIBLING) |