Opened 14 years ago
Closed 14 years ago
#586 closed defect (fixed)
qt-light egg: qt:stop function doesn't work on a qt-timer object
Reported by: | ewfalor | Owned by: | felix winkelmann |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | extensions | Version: | 4.6.x |
Keywords: | qt-light | Cc: | |
Estimated difficulty: |
Description
The documentation (http://wiki.call-cc.org/eggref/4/qt-light#qtstop) indicates that calling (qt:stop TIMER) is a valid operation.
However, in practice, it raises the following error:
Error: Object has no such slot:
#<qt-timer>
stop
Attached is a simple program which demonstrates the crashing bug.
Attachments (2)
Change History (6)
Changed 14 years ago by
comment:1 Changed 14 years ago by
Milestone: | 4.7.0 |
---|---|
Owner: | set to felix winkelmann |
Status: | new → assigned |
comment:2 Changed 14 years ago by
Thanks for reporting this. I can't try this out right now, but will do so as soon as possible.
comment:3 Changed 14 years ago by
After reading a little bit of the protobj documentation, I found that the problem is that the assignment of a method to the stop slot was incorrect: the name stop shouldn't be quoted:
-(! <qt-timer> 'stop
+(! <qt-timer> stop
(lambda (self) (qt:stoptimer self)))
Although it's a two-byte change, I'll attach a patch. It's two bytes because I took the liberty of fixing the same problem with the stop method on a <qt-sound> object.
Changed 14 years ago by
Attachment: | qt-light.timer-stop.patch added |
---|
comment:4 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Thanks a lot! Patch applied (0.97).
Clicking the start button demonstrates that you can begin a timer. Clicking the stop button or allowing time to run out demonstrates that the analogous qt:stop operation doesn't work.