+ fixed a bug in the destroy functions and finalizers.
This commit is contained in:
		
							parent
							
								
									1bf411918c
								
							
						
					
					
						commit
						d4ea951ebf
					
				| 
						 | 
				
			
			@ -69,8 +69,9 @@
 | 
			
		|||
   (lambda (return)
 | 
			
		||||
     (table-walk (lambda (key value)
 | 
			
		||||
		   (let ((color (weak-pointer-ref value)))
 | 
			
		||||
		     (if (equal? (list r g b)
 | 
			
		||||
				 (extract-rgb-values color))
 | 
			
		||||
		     ;; color can be #f for some strange reasons
 | 
			
		||||
		     (if (and color (equal? (list r g b)
 | 
			
		||||
					    (extract-rgb-values color)))
 | 
			
		||||
			 (return color))))
 | 
			
		||||
		 *weak-color-list*)
 | 
			
		||||
     #f)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,8 +48,6 @@
 | 
			
		|||
  (let ((Xdisplay (display-Xdisplay display)))
 | 
			
		||||
    (if (integer? Xdisplay)
 | 
			
		||||
	(begin
 | 
			
		||||
	  (if (display-after-function display)
 | 
			
		||||
	      ((display-after-function display) display))
 | 
			
		||||
	  (display-list-delete! display)
 | 
			
		||||
	  (%close-display Xdisplay)
 | 
			
		||||
	  (display-set-Xdisplay! display 'already-closed)))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,6 +59,7 @@
 | 
			
		|||
	(Xwindow (window-Xwindow window)))
 | 
			
		||||
    (if (integer? Xwindow)
 | 
			
		||||
	(begin
 | 
			
		||||
	  (window-list-delete! window)
 | 
			
		||||
	  (%destroy-window Xdisplay Xwindow)
 | 
			
		||||
	  (window-set-Xwindow! window 'already-destroyed)))))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue