mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			22 lines
		
	
	
		
			999 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			999 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| diff --git chrome/browser/printing/print_backend_service_manager.cc chrome/browser/printing/print_backend_service_manager.cc
 | |
| index 9f3d26990651f..e89f779746ac5 100644
 | |
| --- chrome/browser/printing/print_backend_service_manager.cc
 | |
| +++ chrome/browser/printing/print_backend_service_manager.cc
 | |
| @@ -75,7 +75,15 @@ PrintBackendServiceManager* g_print_backend_service_manager_singleton = nullptr;
 | |
|  // to support modal dialogs from OOP.
 | |
|  uint32_t NativeViewToUint(gfx::NativeView view) {
 | |
|  #if BUILDFLAG(IS_WIN)
 | |
| -  return base::win::HandleToUint32(views::HWNDForNativeView(view));
 | |
| +  // |view| will be nullptr with CEF OSR. In that case return the desktop
 | |
| +  // window handle (same behavior as PrintingContextWin::GetRootWindow) to
 | |
| +  // avoid a DCHECK in PrintingContextSystemDialogWin::AskUserForSettings
 | |
| +  // with OOP printing.
 | |
| +  HWND hwnd = views::HWNDForNativeView(view);
 | |
| +  if (!hwnd) {
 | |
| +    hwnd = ::GetDesktopWindow();
 | |
| +  }
 | |
| +  return base::win::HandleToUint32(hwnd);
 | |
|  #else
 | |
|    NOTREACHED();
 | |
|  #endif
 |