summaryrefslogtreecommitdiff
path: root/nuttx/graphics
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-10-20 16:07:49 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-10-20 16:07:49 +0000
commit12bfabec70065f7994f91a9b315e2b69892b0a57 (patch)
tree7b344f74705f7a44e4fddc333d13767ad89792de /nuttx/graphics
parent69a2786e6d69fc3b478a1f1458312e4bb20260d1 (diff)
downloadpx4-nuttx-12bfabec70065f7994f91a9b315e2b69892b0a57.tar.gz
px4-nuttx-12bfabec70065f7994f91a9b315e2b69892b0a57.tar.bz2
px4-nuttx-12bfabec70065f7994f91a9b315e2b69892b0a57.zip
Several bugfixes contributed by Petteri Aimonen
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5238 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/graphics')
-rw-r--r--nuttx/graphics/nxtk/nxtk_events.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/nuttx/graphics/nxtk/nxtk_events.c b/nuttx/graphics/nxtk/nxtk_events.c
index 33c50b7f9..aaec16b5a 100644
--- a/nuttx/graphics/nxtk/nxtk_events.c
+++ b/nuttx/graphics/nxtk/nxtk_events.c
@@ -76,6 +76,9 @@ static void nxtk_mousein(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos,
static void nxtk_kbdin(NXWINDOW hwnd, uint8_t nch, const uint8_t *ch,
FAR void *arg);
#endif
+#ifdef CONFIG_NX_MULTIUSER
+static void nxtk_blocked(NXWINDOW hwnd, FAR void *arg1, FAR void *arg2);
+#endif
/****************************************************************************
* Private Data
@@ -95,6 +98,9 @@ const struct nx_callback_s g_nxtkcb =
#ifdef CONFIG_NX_KBD
, nxtk_kbdin /* kbdin */
#endif
+#ifdef CONFIG_NX_MULTIUSER
+ , nxtk_blocked
+#endif
};
/****************************************************************************
@@ -293,5 +299,23 @@ static void nxtk_kbdin(NXWINDOW hwnd, uint8_t nch, const uint8_t *ch,
#endif
/****************************************************************************
+ * Name: nxtk_blocked
+ ****************************************************************************/
+
+#ifdef CONFIG_NX_MULTIUSER
+static void nxtk_blocked(NXWINDOW hwnd, FAR void *arg1, FAR void *arg2)
+{
+ FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hwnd;
+
+ /* Only the client window gets keyboard input */
+
+ if (fwnd->fwcb->blocked)
+ {
+ fwnd->fwcb->blocked((NXTKWINDOW)fwnd, fwnd->fwarg, arg2);
+ }
+}
+#endif
+
+/****************************************************************************
* Public Functions
****************************************************************************/