mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Fix QGLWidget viewport resize on macOS
This fixes #2092, a long-standing bug where on macOS resizing the window results in a garbled display. It seems the seemingly optional child()->makeCurrent call is actually required on macOS. Enabling it in all cases fixes the resize issue.
This commit is contained in:
		
							parent
							
								
									5dd8ac99e3
								
							
						
					
					
						commit
						c4dbdeba0a
					
				
					 1 changed files with 7 additions and 6 deletions
				
			
		|  | @ -128,13 +128,14 @@ void GRenderWindow::moveContext() { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void GRenderWindow::SwapBuffers() { | void GRenderWindow::SwapBuffers() { | ||||||
| #if !defined(QT_NO_DEBUG) |     // In our multi-threaded QGLWidget use case we shouldn't need to call `makeCurrent`,
 | ||||||
|     // Qt debug runtime prints a bogus warning on the console if you haven't called makeCurrent
 |     // since we never call `doneCurrent` in this thread.
 | ||||||
|     // since the last time you called swapBuffers. This presumably means something if you're using
 |     // However:
 | ||||||
|     // QGLWidget the "regular" way, but in our multi-threaded use case is harmless since we never
 |     // - The Qt debug runtime prints a bogus warning on the console if `makeCurrent` wasn't called
 | ||||||
|     // call doneCurrent in this thread.
 |     // since the last time `swapBuffers` was executed;
 | ||||||
|  |     // - On macOS, if `makeCurrent` isn't called explicitely, resizing the buffer breaks.
 | ||||||
|     child->makeCurrent(); |     child->makeCurrent(); | ||||||
| #endif | 
 | ||||||
|     child->swapBuffers(); |     child->swapBuffers(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue