mirror of
				https://github.com/Ryujinx/SDL.git
				synced 2025-11-04 03:34:52 +00:00 
			
		
		
		
	Fixed crash if allocating memory for mouse clicks failed.
This commit is contained in:
		
							parent
							
								
									e64c5186e2
								
							
						
					
					
						commit
						7b23eef3b0
					
				| 
						 | 
				
			
			@ -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 (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;
 | 
			
		||||
                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 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue