Bug 17959 - Screen display can 'freeze' when 'flicking' through an information browser item display
: Screen display can 'freeze' when 'flicking' through an information browser it...
Status: UNCONFIRMED
Product: SqueezePlay
Classification: Unclassified
Component: UI
: unspecified
: All All
: -- normal (vote)
: ---
Assigned To: Unassigned bug - please assign me!
: patch_waiting
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-05-09 11:51 UTC by Martin Williams
Modified: 2012-05-11 07:22 UTC (History)
2 users (show)

See Also:
Category: Bug


Attachments
Patch - Flick.lua (866 bytes, patch)
2012-05-09 11:51 UTC, Martin Williams
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Williams 2012-05-09 11:51:57 UTC
Created attachment 7670 [details]
Patch - Flick.lua

share/jive/jive/ui/Flick.lua code anticipates that its client will
implement method 'isWraparoundEnabled'. If that method returns true, the
flick action will continue past a 'start/end of list' boundary (a revolving
list). Otherwise the flick will simply come to a halt at the list boundary.

However, not all clients implement this method. Specifically
share/jive/jive/ui/Textarea.lua does not.

One consequence is a flurry of warning messages, and a failure of the flick
mechanism to come to a halt at the list boundary.

I had also noticed that the screen display will then, sometimes, 'freeze', in
that further flick actions had no effect. The screen would no longer scroll.
The attached patch resolved the problem.

Unfortunately I am unable to reproduce that freezing effect today !
Nevertheless I submit this report in the belief that the 'freezes' I was
observing were real, and due to this issue. And it remains the case that
the flick mechanism does not stop at the list boundary.


The effect can be easily seen when browsing and reading items from, for
example, the 'Slashdot' information browser item, which uses Textarea.lua.

With the UI log level set to 'debug' one also expects to see the message
"*******Stopping Flick at boundary". That message is absent.


The attached patch just adds an 'isWraparoundEnabled' existence check to
Flick.lua


Typical warning messages, somewhat edited:


20120509 17:44:50.694 WARN   squeezeplay.timer - Timer.lua:193 timer error: /opt/sqp2/share/jive/jive/ui/Flick.lua:332: attempt to call method 'isWraparoundEnabled' (a nil value)
20120509 17:44:50.874 WARN   squeezeplay.ui.draw - jiveL_dispatch_event:787 error in event function:
	/opt/sqp2/share/jive/jive/ui/Flick.lua:332: attempt to call method 'isWraparoundEnabled' (a nil value)
stack traceback:
	/opt/sqp2/share/jive/jive/ui/Flick.lua:332: in function 'flick'
	/opt/sqp2/share/jive/jive/ui/Textarea.lua:336: in function </media/opt/sqp2/share/jive/jive/ui/Textarea.lua:246>
	(tail call): ?
	/opt/sqp2/share/jive/jive/ui/Widget.lua:656: in function '_event'
	/opt/sqp2/share/jive/jive/ui/Window.lua:1870: i