» home
» bugs
» git

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000078 [litestep core] core minor always 2009-01-13 13:11 2009-03-13 18:08
Reporter ilmcuts View Status public  
Assigned To
Priority none Resolution open  
Status feedback   Product Version
Summary 0000078: Balloon tip timeout value is not boundary-checked
Description The timeout value of balloon tips (in the tray in particular) has bounds - previous to Vista, balloons were shown at least 10 seconds and at most 30 seconds. See http://msdn.microsoft.com/en-us/library/bb773352(VS.85).aspx [^]

On Vista, the timeout is set to nine seconds. SPI_GETMESSAGEDURATION returns ERROR_NOT_IMPLEMENTED on Vista, but works on Windows 7, where it returns a value of five seconds (Beta 1).

LiteStep doesn't currently enforce any of this at all.
Additional Information LiteStep is free to choose its own timeout value.

At the same time, all this should really be enforced module-side. However, given how few modules get balloons "right", some core assistance would be nice.
Tags No tags attached.
Attached Files

- Relationships
child of 0000092feedback LiteStep 0.26.0 - Release 

-  Notes
jugg (manager)
2009-03-12 18:53

Can you explain what you see the core providing here? Any systray module that implements balloon tips will already implement timeouts.

My systray.dll module has a minimum timeout of 5 seconds, a normal timeout of 10 seconds, and a max of 30 seconds, which is inline with 2k/xp as you linked in your report. I've also considered pulling those limits into step.rc configuration settings. Anyway, given that the only other systray module that implements balloon tips is xtray (which is broken) I'm uncertain how to take the "how few modules get balloon tips right" statement...

I can not see what the core could provide to improve this. So, please explain what the intention of this report is, as it seems to me it should be closed without change.
ilmcuts (manager)
2009-03-13 18:08
edited on: 2009-03-13 18:10

I really wanted to ask whether LS should boundary-check the uTimeout value before the LSNID is sent out to modules, but figured that a more open-ended question might elicit better ideas.

The statement about modules not getting balloons right was aimed at just that - there are a number of tray modules (systray2, vtray, xtray, systray just off the top of my head), but only one has proper and another one has somewhat broken support for balloons. That's a really poor quota for a feature that's been around since Windows 2000. Because of that I felt that providing some help might make more modules support balloons *properly*.

Thus, an argument can be made that uTimeout should be boundary-checked core-side (or that some other step should be taken core-side) because it's such a small detail that I don't think it will get any attention by module devs if they're still stuck trying to provide even basic balloon tip support. Most likely, they'll just take the existing timeout value (which is uTimeout) and use that without further adjustment.

EDIT: Ontop of that, the default "system" timeout depends on the Windows version, making it virtually impossible for modules to get it "right" at all times. That is, unless LiteStep defines its own timeout value of course.

- Issue History
Date Modified Username Field Change
2009-01-13 13:11 ilmcuts New Issue
2009-01-16 16:16 ilmcuts Status @10@ => feedback
2009-03-05 15:09 ilmcuts Relationship added child of 0000092
2009-03-12 18:53 jugg Note Added: 0000255
2009-03-13 18:08 ilmcuts Note Added: 0000257
2009-03-13 18:10 ilmcuts Note Edited: 0000257
2009-03-13 18:10 ilmcuts Note Edited: 0000257

Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker