mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	src/view.c: prevent fullscreen with no outputs available
This commit is contained in:
		
							parent
							
								
									de8042bff5
								
							
						
					
					
						commit
						e9aac4ce8f
					
				
					 1 changed files with 8 additions and 3 deletions
				
			
		
							
								
								
									
										11
									
								
								src/view.c
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								src/view.c
									
										
									
									
									
								
							| 
						 | 
					@ -396,6 +396,7 @@ view_apply_tiled_geometry(struct view *view, struct output *output)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
view_apply_fullscreen_geometry(struct view *view, struct wlr_output *wlr_output)
 | 
					view_apply_fullscreen_geometry(struct view *view, struct wlr_output *wlr_output)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						assert(wlr_output);
 | 
				
			||||||
	struct output *output =
 | 
						struct output *output =
 | 
				
			||||||
		output_from_wlr_output(view->server, wlr_output);
 | 
							output_from_wlr_output(view->server, wlr_output);
 | 
				
			||||||
	struct wlr_box box = { 0 };
 | 
						struct wlr_box box = { 0 };
 | 
				
			||||||
| 
						 | 
					@ -619,6 +620,13 @@ view_set_fullscreen(struct view *view, bool fullscreen,
 | 
				
			||||||
	if (fullscreen != !view->fullscreen) {
 | 
						if (fullscreen != !view->fullscreen) {
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						if (!wlr_output) {
 | 
				
			||||||
 | 
							wlr_output = view_wlr_output(view);
 | 
				
			||||||
 | 
							if (!wlr_output && fullscreen) {
 | 
				
			||||||
 | 
								/* Prevent fullscreen with no available outputs */
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	if (view->impl->set_fullscreen) {
 | 
						if (view->impl->set_fullscreen) {
 | 
				
			||||||
		view->impl->set_fullscreen(view, fullscreen);
 | 
							view->impl->set_fullscreen(view, fullscreen);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -626,9 +634,6 @@ view_set_fullscreen(struct view *view, bool fullscreen,
 | 
				
			||||||
		wlr_foreign_toplevel_handle_v1_set_fullscreen(
 | 
							wlr_foreign_toplevel_handle_v1_set_fullscreen(
 | 
				
			||||||
			view->toplevel_handle, fullscreen);
 | 
								view->toplevel_handle, fullscreen);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (!wlr_output) {
 | 
					 | 
				
			||||||
		wlr_output = view_wlr_output(view);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if (fullscreen) {
 | 
						if (fullscreen) {
 | 
				
			||||||
		/*
 | 
							/*
 | 
				
			||||||
		 * Fullscreen via keybind or client request cancels
 | 
							 * Fullscreen via keybind or client request cancels
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue