summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon TURNEY <jon.turney@dronecode.org.uk>2012-11-03 18:51:53 +0000
committerJon TURNEY <jon.turney@dronecode.org.uk>2012-11-21 14:02:41 +0000
commit3ee95391a89a60c7cb19aca113d334d7a457c11f (patch)
treeb8207513cb821a98afe48dd3159fd4518ddbfd64
parentcc5035836b7f3f8088dba13dc552e7e287ee1416 (diff)
Checking the damage area to see if it's got bigger seems pointless when we use the bounding box damage reoprting level
It also seems to be buggy somehow...
-rw-r--r--src/libxcwm/event_loop.c52
1 files changed, 7 insertions, 45 deletions
diff --git a/src/libxcwm/event_loop.c b/src/libxcwm/event_loop.c
index f904fc3..8a59851 100644
--- a/src/libxcwm/event_loop.c
+++ b/src/libxcwm/event_loop.c
@@ -202,11 +202,6 @@ run_event_loop(void *thread_arg_struct)
if ((evt->response_type & ~0x80) == context->damage_event_mask) {
xcb_damage_notify_event_t *dmgevnt =
(xcb_damage_notify_event_t *)evt;
- int old_x;
- int old_y;
- int old_height;
- int old_width;
- xcwm_rect_t dmg_area;
return_evt = malloc(sizeof(xcwm_event_t));
return_evt->event_type = XCWM_EVENT_WINDOW_DAMAGE;
@@ -264,48 +259,15 @@ run_event_loop(void *thread_arg_struct)
continue;
}
- dmg_area.x = dmgevnt->area.x;
- dmg_area.y = dmgevnt->area.y;
- dmg_area.width = dmgevnt->area.width;
- dmg_area.height = dmgevnt->area.height;
-
- old_x = return_evt->window->dmg_bounds->x;
- old_y = return_evt->window->dmg_bounds->y;
- old_width = return_evt->window->dmg_bounds->width;
- old_height = return_evt->window->dmg_bounds->height;
-
- if (return_evt->window->dmg_bounds->width == 0) {
- /* We know something is damaged */
- return_evt->window->dmg_bounds->x = dmg_area.x;
- return_evt->window->dmg_bounds->y = dmg_area.y;
- return_evt->window->dmg_bounds->width = dmg_area.width;
- return_evt->window->dmg_bounds->height = dmg_area.height;
- }
- else {
- /* Is the new damage bigger than the old */
- if (old_x > dmg_area.x) {
- return_evt->window->dmg_bounds->x = dmg_area.x;
- }
- if (old_y > dmg_area.y) {
- return_evt->window->dmg_bounds->y = dmg_area.y;
- }
- if (old_width < dmg_area.width) {
- return_evt->window->dmg_bounds->width = dmg_area.width;
- }
- if (old_height < dmg_area.height) {
- return_evt->window->dmg_bounds->height = dmg_area.height;
- }
- }
+ return_evt->window->dmg_bounds->x = dmgevnt->area.x;
+ return_evt->window->dmg_bounds->y = dmgevnt->area.y;
+ return_evt->window->dmg_bounds->width = dmgevnt->area.width;
+ return_evt->window->dmg_bounds->height = dmgevnt->area.height;
+
xcwm_event_release_thread_lock();
- if (((old_x > dmg_area.x) || (old_y > dmg_area.y))
- || ((old_width < dmg_area.width)
- || (old_height < dmg_area.height))) {
- /* We should only reach here if this damage event
- * actually increases that area of the window marked
- * for damage. */
- callback_ptr(return_evt);
- }
+ callback_ptr(return_evt);
+
}
else {
switch (evt->response_type & ~0x80) {