stream-pointer-position returns incorrect pointer position for the scrolled sheets

Bug #525379 reported by Evgeny Zubok
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
McCLIM
New
Undecided
Unassigned

Bug Description

When the sheet-transformation of sheet is changed, the sheet-native-transformation is not updated for mirrored-sheet-mixins. As a result, the stream-pointer-position returns incorrect pointer position on scrolled sheet which is calculated using the sheet-native-transformation. I think this is because (setf native-transformation nil) is commented in (defmethod invalidate-cached-transformations ((sheet mirrored-sheet-mixin)) with strange description "XXX hm...". The method (defmethod sheet-native-transformation ((sheet mirrored-sheet-mixin)) does nothing if native-transformation has not been invalidated. These methods are defined in sheets.lisp

In attached example I create the pane 'canvas' with :min-height 2000 :min-width 2000 and layout (scrolling (:height 500 :width 500) ...). In define-presentation-action for blank-area I call stream-pointer-position and print string "TEST" at this point. In Allegro's CLIM implementation the strings appear where I have pressed pointer button; in McCLIM they appear only at the first page of canvas, even if I have pressed button on blank-area on the other pages.

Revision history for this message
Evgeny Zubok (zubok) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.