summaryrefslogtreecommitdiff
path: root/NxWidgets/nxwm/src/ctaskbar.cxx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-05-16 22:43:40 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-05-16 22:43:40 +0000
commit20958add7b2acc205e71569a3f318196baf7b7cf (patch)
tree5f479cc7c9a1bc538630ddaeae8c57b65b40e780 /NxWidgets/nxwm/src/ctaskbar.cxx
parent6d8337323f1d60e7845a83508d4bbd1e0318ec3b (diff)
downloadpx4-nuttx-20958add7b2acc205e71569a3f318196baf7b7cf.tar.gz
px4-nuttx-20958add7b2acc205e71569a3f318196baf7b7cf.tar.bz2
px4-nuttx-20958add7b2acc205e71569a3f318196baf7b7cf.zip
NxWM: Add IApplicationFactory so that we can create multiple instances of applications; And, as a result of that, re-vamp entire threading model. this is now buggier than it was before
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4742 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'NxWidgets/nxwm/src/ctaskbar.cxx')
-rw-r--r--NxWidgets/nxwm/src/ctaskbar.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/NxWidgets/nxwm/src/ctaskbar.cxx b/NxWidgets/nxwm/src/ctaskbar.cxx
index ec3d8460b..ab686f81c 100644
--- a/NxWidgets/nxwm/src/ctaskbar.cxx
+++ b/NxWidgets/nxwm/src/ctaskbar.cxx
@@ -609,7 +609,9 @@ bool CTaskbar::stopApplication(IApplication *app)
hideApplicationWindow(app);
- // Stop the application (whatever this means to the application)
+ // Stop the application (whatever this means to the application). We
+ // separate stopping from destroying to get the application a chance
+ // to put things in order before being destroyed.
app->stop();
@@ -631,6 +633,11 @@ bool CTaskbar::stopApplication(IApplication *app)
}
}
+ // destroy the application
+
+ CWindowControl *control = app->getWindowControl();
+ control->destroy(app);
+
// Re-draw the new top, non-minimized application
bool ret = redrawTopWindow();