mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	clients/view: Don't try to show inexistant files
This commit is contained in:
		
							parent
							
								
									9aad08e91b
								
							
						
					
					
						commit
						6685aceae3
					
				
					 1 changed files with 13 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -64,8 +64,6 @@ view_draw(struct view *view)
 | 
			
		|||
 | 
			
		||||
	window_get_child_allocation(view->window, &allocation);
 | 
			
		||||
 | 
			
		||||
	page = poppler_document_get_page(view->document, view->page);
 | 
			
		||||
 | 
			
		||||
	surface = window_get_surface(view->window);
 | 
			
		||||
 | 
			
		||||
	cr = cairo_create(surface);
 | 
			
		||||
| 
						 | 
				
			
			@ -73,9 +71,18 @@ view_draw(struct view *view)
 | 
			
		|||
			 allocation.width, allocation.height);
 | 
			
		||||
	cairo_clip(cr);
 | 
			
		||||
 | 
			
		||||
	cairo_set_source_rgba(cr, 0, 0, 0, 0.8); 
 | 
			
		||||
	cairo_set_source_rgba(cr, 0, 0, 0, 0.8);
 | 
			
		||||
	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 | 
			
		||||
	cairo_paint(cr);
 | 
			
		||||
 | 
			
		||||
        if(!view->document) {
 | 
			
		||||
                cairo_destroy(cr);
 | 
			
		||||
                cairo_surface_destroy(surface);
 | 
			
		||||
                window_flush(view->window);
 | 
			
		||||
                return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
	page = poppler_document_get_page(view->document, view->page);
 | 
			
		||||
	poppler_page_get_size(page, &width, &height);
 | 
			
		||||
	doc_aspect = width / height;
 | 
			
		||||
	window_aspect = (double) allocation.width / allocation.height;
 | 
			
		||||
| 
						 | 
				
			
			@ -119,8 +126,10 @@ view_page_up(struct view *view)
 | 
			
		|||
static void
 | 
			
		||||
view_page_down(struct view *view)
 | 
			
		||||
{
 | 
			
		||||
        if(view->page >= poppler_document_get_n_pages(view->document) - 1)
 | 
			
		||||
        if(!view->document ||
 | 
			
		||||
           view->page >= poppler_document_get_n_pages(view->document) - 1) {
 | 
			
		||||
                return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        view->page++;
 | 
			
		||||
        window_schedule_redraw(view->window);
 | 
			
		||||
| 
						 | 
				
			
			@ -215,7 +224,6 @@ view_create(struct display *display, uint32_t key, const char *filename)
 | 
			
		|||
 | 
			
		||||
        if(error) {
 | 
			
		||||
                title = "File not found";
 | 
			
		||||
                view->document = NULL;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
	view->window = window_create(display, 500, 400);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue