Skip to content
Permalink
Browse files

Fixed crash if allocating memory for mouse clicks failed.

  • Loading branch information
philippwiesemann committed Sep 30, 2016
1 parent e64c518 commit 7b23eef3b0936d7fb060129bfa439c730ea5d4e0
Showing with 18 additions and 14 deletions.
  1. +18 −14 src/events/SDL_mouse.c
@@ -358,22 +358,26 @@ SDL_PrivateSendMouseButton(SDL_Window * window, SDL_MouseID mouseID, Uint8 state

if (clicks < 0) {
SDL_MouseClickState *clickstate = GetMouseClickState(mouse, button);
if (state == SDL_PRESSED) {
Uint32 now = SDL_GetTicks();

if (SDL_TICKS_PASSED(now, clickstate->last_timestamp + SDL_double_click_time) ||
SDL_abs(mouse->x - clickstate->last_x) > SDL_double_click_radius ||
SDL_abs(mouse->y - clickstate->last_y) > SDL_double_click_radius) {
clickstate->click_count = 0;
}
clickstate->last_timestamp = now;
clickstate->last_x = mouse->x;
clickstate->last_y = mouse->y;
if (clickstate->click_count < 255) {
++clickstate->click_count;
if (clickstate) {
if (state == SDL_PRESSED) {
Uint32 now = SDL_GetTicks();

if (SDL_TICKS_PASSED(now, clickstate->last_timestamp + SDL_double_click_time) ||
SDL_abs(mouse->x - clickstate->last_x) > SDL_double_click_radius ||
SDL_abs(mouse->y - clickstate->last_y) > SDL_double_click_radius) {
clickstate->click_count = 0;
}
clickstate->last_timestamp = now;
clickstate->last_x = mouse->x;
clickstate->last_y = mouse->y;
if (clickstate->click_count < 255) {
++clickstate->click_count;
}
}
clicks = clickstate->click_count;
} else {
clicks = 1;
}
clicks = clickstate->click_count;
}

/* Post the event, if desired */

0 comments on commit 7b23eef

Please sign in to comment.