When trying out the drawing part of demodemo, with mcclim using gtkairo, after drawing some lines i decided to draw an ellipse.
This had the following effect:
Attempt to invert the probably singular transformation #<CLIM-INTERNALS::STANDARD-HAIRY-TRANSFORMATION 0 0 0 -2 156 324>. [Condition of type CLIM:SINGULAR-TRANSFORMATION]
Restarts: 0: [USE-VALUE] Supply a transformation to use instead of the inverse. 1: [ABORT] Return to application command loop 2: [ABORT] Return to application command loop 3: [ABORT] Return to SLIME's top level. 4: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" {AFDE919}>)
Backtrace: 0: ((SB-PCL::FAST-METHOD CLIM:INVERT-TRANSFORMATION (CLIM-INTERNALS::STANDARD-TRANSFORMATION)) #<unavailable argument> #<unavailable argument> #<CLIM-INTERNALS::STANDARD-HAIRY-TRANSFORMATION 0 0 0 -2 156 324>) 1: ((SB-PCL::FAST-METHOD CLIM:INVERT-TRANSFORMATION :AROUND (CLIM-INTERNALS::CACHED-INVERSE-TRANSFORMATION-MIXIN)) (#(0) . #()) #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION #> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) #<CLIM-INTERNALS::STANDARD-HAIRY-TRANSFORMATION 0 0 0 -2 156 324>) 2: (CLIM-GTKAIRO::SYNC-TRANSFORMATION #<CLIM-GTKAIRO::CAIRO-MEDIUM {DE8A9B9}> #<CLIM-INTERNALS::STANDARD-HAIRY-TRANSFORMATION 0 0 0 -2 156 324>) 3: ((LAMBDA ())) 4: ((LAMBDA ())) 5: (CLIM-GTKAIRO::INVOKE-WITH-GTK #<CLOSURE (LAMBDA #) {DD6018D}>) 6: ((SB-PCL::FAST-METHOD CLIM-INTERNALS::DO-GRAPHICS-WITH-OPTIONS-INTERNAL (CLIM:MEDIUM #1="#<...>" . #1#)) #<unused argument> #<unused argument> #<CLIM-GTKAIRO::CAIRO-MEDIUM {DE8A9B9}> #<CLIM-DEMO::CANVAS-PANE CLIM-DEMO::CANVAS {A8BB111}> #<CLOSURE (FLET CLIM-INTERNALS::GRAPHICS-OP) {DD59E2D}> :INK #<CLIM-INTERNALS::NAMED-COLOR "blue"> ..) 7: ((SB-PCL::FAST-METHOD CLIM:INVOKE-WITH-OUTPUT-RECORDING-OPTIONS (CLIM:OUTPUT-RECORDING-STREAM T T T)) #<unavailable argument> #<unavailable argument> #<CLIM-DEMO::CANVAS-PANE CLIM-DEMO::CANVAS {A8BB111}> #<CLOSURE (FLET #:CONTINUATION160) {DD59B5D}> NIL T) 8: ((LAMBDA (SB-PCL::.PV-CELL. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1. SB-PCL::.ARG2. SB-PCL::.ARG3.)) #<unavailable argument> #<unavailable argument> #<CLIM-INTERNALS::FRAME-TRACKING-POINTER-STATE {DD56F69}> #<CLIM:POINTER-MOTION-EVENT {DD51929}> 156 322) 9: ((FLET CLIM-INTERNALS::DO-TRACKING)) 10: ((LABELS #:G103) #<CLIM-GTKAIRO::CAIRO-MEDIUM {DE8A9B9}>) 11: ((LAMBDA (SB-PCL::.PV-CELL. SB-PCL::.NEXT-METHOD-CALL. #1="#<...>" . #1#)) #<unused argument> #<unused argument> #<CLIM-INTERNALS::FRAME-TRACKING-POINTER-STATE {DD56F69}> #<CLIM-DEMO::CLIM-FIG {A8A9AC1}> #<CLIM-DEMO::CANVAS-PANE CLIM-DEMO::CANVAS {A8BB111}> -308893239 8) 12: (CLIM-DEMO::HANDLE-DRAW-OBJECT #<CLIM-DEMO::CANVAS-PANE CLIM-DEMO::CANVAS {A8BB111}> 156 324) 13: ((SB-PCL::FAST-METHOD CLIM:DEFAULT-FRAME-TOP-LEVEL (CLIM:APPLICATION-FRAME)) #<unused argument> #<unused argument> #<CLIM-DEMO::CLIM-FIG {A8A9AC1}> :COMMAND-PARSER CLIM:COMMAND-LINE-COMMAND-PARSER :COMMAND-UNPARSER CLIM:COMMAND-LINE-COMMAND-UNPARSER :PARTIAL-COMMAND-PARSER ..) 14: ((SB-PCL::FAST-METHOD CLIM:DEFAULT-FRAME-TOP-LEVEL (CLIM:APPLICATION-FRAME)) #<unavailable argument> #<unavailable argument> #<CLIM-DEMO::CLIM-FIG {A8A9AC1}>) 15: ((SB-PCL::FAST-METHOD CLIM:RUN-FRAME-TOP-LEVEL (CLIM:APPLICATION-FRAME)) #<unused argument> #<unused argument> #<CLIM-DEMO::CLIM-FIG {A8A9AC1}>) 16: ((SB-PCL::FAST-METHOD CLIM:RUN-FRAME-TOP-LEVEL :AROUND (#1="#<...>" . #1#)) #<unused argument> #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION #> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1 . T)) #<CLIM-DEMO::CLIM-FIG {A8A9AC1}>) 17: ((LAMBDA (&REST IGNORE))) 18: (CLIM-INTERNALS::INVOKE-CALLBACK #<CLIM-GTKAIRO::GTK-BUTTON "(Unnamed Pane)" {DDAED39}> #<CLOSURE (LAMBDA #) {DDD0365}>) 19: (CLIM-EXTENSIONS:SIMPLE-EVENT-LOOP #<CLIM-DEMO::DEMODEMO {DC5B199}>) 20: (CLIM-EXTENSIONS:SIMPLE-EVENT-LOOP #<CLIM-DEMO::DEMODEMO {DC5B199}>) 21: ((SB-PCL::FAST-METHOD CLIM:READ-FRAME-COMMAND :AROUND (#1="#<...>" . #1#)) #<unused argument> #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION #> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1 . T)) #<CLIM-DEMO::DEMODEMO {DC5B199}> :STREAM ..) 22: ((SB-PCL::FAST-METHOD CLIM:DEFAULT-FRAME-TOP-LEVEL (CLIM:APPLICATION-FRAME)) #<unused argument> #<unused argument> #<CLIM-DEMO::DEMODEMO {DC5B199}> :COMMAND-PARSER CLIM:COMMAND-LINE-COMMAND-PARSER :COMMAND-UNPARSER CLIM:COMMAND-LINE-COMMAND-UNPARSER :PARTIAL-COMMAND-PARSER ..) 23: ((SB-PCL::FAST-METHOD CLIM:DEFAULT-FRAME-TOP-LEVEL (CLIM:APPLICATION-FRAME)) #<unavailable argument> #<unavailable argument> #<CLIM-DEMO::DEMODEMO {DC5B199}>) 24: ((SB-PCL::FAST-METHOD CLIM:RUN-FRAME-TOP-LEVEL (CLIM:APPLICATION-FRAME)) #<unused argument> #<unused argument> #<CLIM-DEMO::DEMODEMO {DC5B199}>) 25: ((SB-PCL::FAST-METHOD CLIM:RUN-FRAME-TOP-LEVEL :AROUND (#1="#<...>" . #1#)) #<unused argument> #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION #> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1 . T)) #<CLIM-DEMO::DEMODEMO {DC5B199}>) 26: (SB-INT:SIMPLE-EVAL-IN-LEXENV (CLIM-DEMO::RUN-TEST 'CLIM-DEMO::DEMODEMO) #<NULL-LEXENV>) 27: (SWANK::EVAL-REGION " (clim-demo::run-test 'clim-demo::demodemo)
" T) 28: ((LAMBDA ())) 29: ((LAMBDA (SWANK-BACKEND::FN)) #<CLOSURE (LAMBDA #) {DBBCE35}>) 30: (SWANK::CALL-WITH-BUFFER-SYNTAX #<CLOSURE (LAMBDA #) {DBBCE35}>) 31: (SWANK:LISTENER-EVAL " (clim-demo::run-test 'clim-demo::demodemo)
") 32: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL " (clim-demo::run-test 'clim-demo::demodemo)
") #<NULL-LEXENV>)
SBCL is 1.0, McCLIM is very recent CVS.
regards, Samium Gromoff
Quoting Samium Gromoff (_deepfire@feelingofgreen.ru):
When trying out the drawing part of demodemo, with mcclim using gtkairo, after drawing some lines i decided to draw an ellipse.
That is bug number 22 from Backends/gtkairo/BUGS.
I am not currently planning to work on the cairo medium, since I would like to complete the gdk medium first, so feel free to tackle this yourself... :-)
For details, see the comment in medium-draw-ellipse*.
(The gdk medium can draw ellipses properly, but it has no support for indexed-pattern yet, which makes it rather useless.)
d.