Update of /project/mcclim/cvsroot/mcclim/Backends/gtkairo In directory clnet:/tmp/cvs-serv25592
Modified Files: event.lisp gtk-ffi.lisp BUGS Log Message: Fixed those phantom gtkairo display glitches:
* event.lisp (expose-handler): Clear the affected area using gdk.
* gtk-ffi.lisp (gdk_window_clear_area): New function.
--- /project/mcclim/cvsroot/mcclim/Backends/gtkairo/event.lisp 2006/05/01 21:21:39 1.5 +++ /project/mcclim/cvsroot/mcclim/Backends/gtkairo/event.lisp 2006/05/02 13:00:11 1.6 @@ -130,6 +130,7 @@ (define-signal expose-handler (widget event) (enqueue (cffi:with-foreign-slots ((x y width height) event gdkeventexpose) + (gdk_window_clear_area (gtkwidget-gdkwindow widget) x y width height) (make-instance 'window-repaint-event :timestamp (get-internal-real-time) :sheet (widget->sheet widget *port*) --- /project/mcclim/cvsroot/mcclim/Backends/gtkairo/gtk-ffi.lisp 2006/04/23 17:36:28 1.4 +++ /project/mcclim/cvsroot/mcclim/Backends/gtkairo/gtk-ffi.lisp 2006/05/02 13:00:12 1.5 @@ -674,6 +674,14 @@ (window :pointer) (title :string))
+(defcfun "gdk_window_clear_area" + :void + (window :pointer) + (x :int) + (y :int) + (width :int) + (height :int)) + (defconstant GDK_EXPOSURE_MASK (ash 1 1)) (defconstant GDK_POINTER_MOTION_MASK (ash 1 2)) (defconstant GDK_POINTER_MOTION_HINT_MASK (ash 1 3)) --- /project/mcclim/cvsroot/mcclim/Backends/gtkairo/BUGS 2006/05/01 21:21:38 1.7 +++ /project/mcclim/cvsroot/mcclim/Backends/gtkairo/BUGS 2006/05/02 13:00:12 1.8 @@ -46,7 +46,7 @@ The frontend specifies background colors (*3d-normal-color*) where the gtk theme should take precedence.
-9. +(FIXED) 9. Sometimes repaint seems to draw again without clearing the window first. For example, the header in demodemo gets darker with every repaint, until the originally antialiased text looks really crappy.