sdl2: set window ID
This uses the console API to record the window ID of the SDL2 windows. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Message-id: 20161221003806.22412-4-samuel.thibault@ens-lyon.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									f29b3431f6
								
							
						
					
					
						commit
						d825367172
					
				@ -761,6 +761,7 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
 | 
				
			|||||||
    uint8_t data = 0;
 | 
					    uint8_t data = 0;
 | 
				
			||||||
    char *filename;
 | 
					    char *filename;
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
 | 
					    SDL_SysWMinfo info;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (no_frame) {
 | 
					    if (no_frame) {
 | 
				
			||||||
        gui_noframe = 1;
 | 
					        gui_noframe = 1;
 | 
				
			||||||
@ -786,6 +787,8 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
 | 
				
			|||||||
        exit(1);
 | 
					        exit(1);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1");
 | 
					    SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1");
 | 
				
			||||||
 | 
					    memset(&info, 0, sizeof(info));
 | 
				
			||||||
 | 
					    SDL_VERSION(&info.version);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (i = 0;; i++) {
 | 
					    for (i = 0;; i++) {
 | 
				
			||||||
        QemuConsole *con = qemu_console_lookup_by_index(i);
 | 
					        QemuConsole *con = qemu_console_lookup_by_index(i);
 | 
				
			||||||
@ -813,6 +816,10 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
        sdl2_console[i].dcl.con = con;
 | 
					        sdl2_console[i].dcl.con = con;
 | 
				
			||||||
        register_displaychangelistener(&sdl2_console[i].dcl);
 | 
					        register_displaychangelistener(&sdl2_console[i].dcl);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (SDL_GetWindowWMInfo(sdl2_console[i].real_window, &info)) {
 | 
				
			||||||
 | 
					            qemu_console_set_window_id(con, info.info.x11.window);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Load a 32x32x4 image. White pixels are transparent. */
 | 
					    /* Load a 32x32x4 image. White pixels are transparent. */
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user