CLIM gesture handlers don't like mouse scrollwheels.
Some context of what happens when one uses a scrollwheel in Graphics Demos demo:
The value NIL is not of type FIXNUM.
[Condition of type TYPE-ERROR]
Restarts:
0: [ABORT] Return to Graphics Demo command level
1: [NIL] Graphics Demo top level
2: [NIL] Exit Graphics Demo
3: [ABORT] abort thread (#<THREAD "Graphics Demos" RUNNING {1003FD7D93}>)
Backtrace:
0: (CLIM-INTERNALS::BUTTON-PRESS-EVENT-MATCHES-GESTURE-NAME-P #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}> :SELECT #<unused argument>)
Locals:
EVENT = #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
GESTURE-NAME = :SELECT
1: (CLIM:PRESENTATION-MATCHES-CONTEXT-TYPE #<CLIM:STANDARD-PRESENTATION CLIM:BLANK-AREA CLIM-INTERNALS::|circular presentation| /x 0:0 y 0:0/ {1005887493}> (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPHIC..
Locals:
#:.DEFAULTING-TEMP. = #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
#:.DEFAULTING-TEMP.#1 = 0
CLIM-INTERNALS::CONTEXT-TYPE = (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPHICS-DEMO)
CLIM-INTERNALS::FRAME = #<CLIM-DEMO::GRAPHICS-DEMO {10040F3893}>
PRESENTATION = #<CLIM:STANDARD-PRESENTATION CLIM:BLANK-AREA CLIM-INTERNALS::|circular presentation| /x 0:0 y 0:0/ {1005887493}>
CLIM-INTERNALS::WINDOW = #<CLIM:APPLICATION-PANE a window stream {10045A1DB3}>
CLIM-INTERNALS::X = 673.0
CLIM-INTERNALS::Y = 471.0
2: (CLIM:THROW-HIGHLIGHTED-PRESENTATION #<CLIM:STANDARD-PRESENTATION CLIM:BLANK-AREA CLIM-INTERNALS::|circular presentation| /x 0:0 y 0:0/ {1005887493}> ((#1=(CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPH..
Locals:
SB-DEBUG::ARG-0 = #<CLIM:STANDARD-PRESENTATION CLIM:BLANK-AREA CLIM-INTERNALS::|circular presentation| /x 0:0 y 0:0/ {1005887493}>
SB-DEBUG::ARG-1 = (((CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPHICS-DEMO) (#:CONTEXT-TAG (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPHICS-DEMO))) ..)
SB-DEBUG::ARG-2 = #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
Catch-tags:
CLIM-INTERNALS::NO-TRANSLATION
3: ((:METHOD CLIM-INTERNALS::RECEIVE-GESTURE (CLIM-INTERNALS::INPUT-PROTOCOL-MIXIN CLIM:POINTER-BUTTON-PRESS-EVENT)) #<CLIM:APPLICATION-PANE a window stream {10045A1DB3}> #<CLIM:POINTER-BUTTON-PRESS-EVEN..
Locals:
SB-DEBUG::ARG-2 = #<CLIM:APPLICATION-PANE a window stream {10045A1DB3}>
SB-DEBUG::ARG-3 = #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
In particular, the CLIM:POINTER-BUTTON-PRESS-EVENT
looks like this:
#<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
--------------------
Class: #<STANDARD-CLASS CLIM:POINTER-BUTTON-PRESS-EVENT>
--------------------
Group slots by inheritance [ ]
Sort slots alphabetically [X]
All Slots:
[ ] BUTTON = NIL
[ ] MODIFIER-STATE = 0
[ ] NATIVE-X = 676
[ ] NATIVE-Y = 474
[ ] POINTER = #<CLIM:STANDARD-POINTER {1004B4B873}>
[ ] SHEET = #<CLIM:APPLICATION-PANE a window stream {10045A1DB3}>
[ ] TIMESTAMP = 1053
[ ] X = 673.0
[ ] Y = 471.0
This BUTTON
being NIL
breaks type declaration in #'button-press-event-matches-gesture-name-p
.