diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2013-02-28 18:48:11 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2013-02-28 18:48:11 +0000 |
commit | a63f8bb684d01a23bfe1ee85b1d7faf983b9d1ea (patch) | |
tree | 3f51cea039f16c0a9b0b8e05550fe9112d72d824 /NxWidgets/ChangeLog.txt | |
parent | f1b1e3ba11994bcbb0a1ddad9f8e686a6a9ae475 (diff) | |
download | nuttx-a63f8bb684d01a23bfe1ee85b1d7faf983b9d1ea.tar.gz nuttx-a63f8bb684d01a23bfe1ee85b1d7faf983b9d1ea.tar.bz2 nuttx-a63f8bb684d01a23bfe1ee85b1d7faf983b9d1ea.zip |
NxWidgets/NxWM updates from Petteri Aimonen (Patches 0007-0013)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5689 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'NxWidgets/ChangeLog.txt')
-rw-r--r-- | NxWidgets/ChangeLog.txt | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/NxWidgets/ChangeLog.txt b/NxWidgets/ChangeLog.txt index dd3422dcc..1d2abab4d 100644 --- a/NxWidgets/ChangeLog.txt +++ b/NxWidgets/ChangeLog.txt @@ -280,4 +280,50 @@ it works with indexed input images. * NxWidgets::CLabel: Fix backward conditional compilation in the "flicker free" logic. - +* NxWidgets::CNxTimer: Previously repeated timers were re-enabled after + the timer action event. Consequently, if the action event handler tried + to stop the timer, the request would be ignored. Changes the order + so that the timer is re-enabled before the callback. There is still + no risk of re-entrancy, because everything executes on the USRWORK work + queue. From Petteri Aimonen. +* NxWidgets::CMultiLineTestBox: Fix text placement error. From Petteri + Aimonen. +* NxWidgets::CWidgetControl: Added another semaphore, boundssem, which + is set as soon as the screen bounds are known. This corrects two + problems: + 1) Due to the way nxgl_rectsize computes the size, it will never + be 0,0 like CWidgetControl expects. Therefore the size is considered + valid even though it has not been set yet. + 2) After the check is fixed to test for > 1, NxWM window creation will + hang. This is due to the fact that it uses the screen bounds for + determining window size. This was being blocked on geosem, which + is only posted after the size has been set. + From Petteri Aimonen. +* NxWidgets::CImage: Two enhancements: + 1) Allow changing the bitmap even after the control has been created. + 2) Allow giving 'null' to have the control draw no image at all. + From Petteri Aimonen. +* NxWM::CTaskBar: Allow windows with null icon. This makes sense for e.g. + full screen windows. From Petteri Aimonen. +* NxWM::CApplicationWindow: Add config options to override NxWM + stop/minimize icons. From Petteri Aimonen. +* NwWM::CStartWindow, NxWM::CWindowMessenger: Get rid of the start window + thread. Instead, handle all events through the USRWORK work queue. + For me, this was necessary because I would open some files in button + handlers and close them in NxTimer handlers. If these belonged to + different tasks, the close operation would fail. Further benefits: + + Gets rid of one task and message queue. + + Reduces the amount of code required + + Decouples CStartWindow from everything else - now it is just a window + with application icons, not an integral part of the event logic. + + All events come from the same thread, which reduces the possibility of + multithreading errors in user code. + + The user code can also send events to USRWORK, so that everything gets + serialized nicely without having to use so many mutexes. + Drawbacks: + - Currently the work state structure is malloc()ed, causing one allocation + and free per each input event. Could add a memory pool for these later, but + the speed difference doesn't seem noticeable. + - The work queue will add ~50 ms latency to input events. This is however + configurable, and the delay is anyway short enough that it is unnoticeable. + From Petteri Aimonen. |