home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 1 / ARM_CLUB_CD.iso / contents / apps / clib / progs / timslib / TimsLib / BugsEtc < prev    next >
Encoding:
Text File  |  1993-01-22  |  3.1 KB  |  96 lines

  1. DeskLib Bugs and Features
  2. ~~~~~~~~~~~~~~~~~~~~~~~~~
  3. Here are a few things I found out about DeskLib while using it which would
  4. be useful to know in advance! Not many bugs - only a couple of nasty ones
  5. (in Coord and Event).  Some are just 'I wish it could do this...'.
  6. You'll see a lot of my comments are suffixed by " - fixed" which means I've
  7. hacked my copy of DeskLib to fix the bug / do what I want.  However I can't
  8. pass on hacked versions of DeskLib modules as that's against the distribution
  9. conditions.
  10. There's usually enough information to fix it yourself though.  If you have
  11. trouble ask me for hints...
  12.  
  13. DeskLib isn't perfect; it's just a lot better than RISCOS_lib.
  14.  
  15. Wimp.h
  16. ======
  17. window_ICONBAR defined as -1 - should be -2. (Background is -1)
  18. No equivalent to wimp_IFONTH.
  19.  
  20. No nice constants for accessing the colour array in window_block.
  21. No nice constants for accessing window flags - and a real pain because
  22. window_flags is declared as a struct - you can't even cast it to int. - now
  23. fixed - declared as union of value and struct like icon_flags.
  24. sprite area in the window_block should be declared as a 'sprite_area' !!!
  25.  
  26. LinkList.h
  27. ==========
  28. Macro specified as LinkList_ItemInit() actually defined as LinkList_Item().
  29.  
  30. No nice macros so you can use LinkList_NextItem(&node) instead of 
  31. LinkList_NextItem(&node->header) - fixed - created as LinkList_Next &
  32. LinkList_Prev. Done the same with First and Last too.
  33.  
  34. LinkList_Length is not included in the LinkList libfile - it just hasn't 
  35. been compiled and added to the archive.
  36.  
  37. Handler.h
  38. =========
  39. Handler_ClickOk() shouldn't indent the icon for MENU clicks.
  40. Also, a good idea would be to make it never return TRUE - if it always 
  41. returns FALSE you can hang it on an icon, and then hang a callback on it on 
  42. top. That way you get the 3d click, and then the call-back proper is called.
  43. Hmm...have to think about that one. (Well easy to do, of course).
  44.  
  45. Sprite.h
  46. ========
  47.  
  48. Typedefs a wee bit dodgy - fixed.
  49.  
  50.  
  51. Coord.h
  52. =======
  53.  
  54. Some functions missing Coord_ prefix - added.
  55.  
  56. Coord_YToWorkArea is just plain wrong! cf PRMs p.1133
  57. So is Coord_YToScreen!
  58.  
  59.  
  60. Window.h
  61. ========
  62.  
  63. Window_GetInfo() - bit of a classic error in this one - the address of an 
  64. array is taken as '&block' instead of just 'block'.  Whoops! Fixed...
  65.  
  66. Template.h
  67. ==========
  68.  
  69. Added a bodge to Template__Find() so that window templates created by 
  70. FormEd/Glazier have the sprite area set to be the local area. (used Wimp 
  71. area otherwise).
  72. This is because FormEd uses '1' to mea the local sprite area whereas it 
  73. means the Wimp area.  Glazier follows this standard in the absence of 
  74. anything else.
  75.  
  76. Event.h
  77. =======
  78.  
  79. Error in NULL handling:
  80.  
  81. Claiming event_ANY should not cause NULLs to be enabled - they should be
  82. claimed explicitly.  This is what happens, but:
  83.  
  84. Releasing event_ANY should not cause NULLs to be disabled - but they are!
  85.  
  86. DecrementUsage() is called for all events in LoseClaim() instead of for all
  87. events *except* NULLs.
  88. Fixed so LoseClaim() doesn't disable NULLs (changed loop to start from 1 
  89. instead of 0).
  90.  
  91. Icon.h
  92. ======
  93.  
  94. SetDouble's format specifier string is wrong:
  95. It should be %%.%df whereas it is %%f.%d
  96.