Navigation Menu

Skip to content

Commit

Permalink
Fixed crash if allocating memory for mouse clicks failed.
Browse files Browse the repository at this point in the history
  • Loading branch information
philippwiesemann committed Sep 30, 2016
1 parent e64c518 commit 7b23eef
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions src/events/SDL_mouse.c
Expand Up @@ -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 */
Expand Down

0 comments on commit 7b23eef

Please sign in to comment.