Fix a C++ link issue: If constant strings used only in constructor, the don't get linked into the final executable
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4743 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
0efb245d6d
commit
87e557af84
@ -803,7 +803,7 @@ bool CWidgetControl::pollMouseEvents(CNxWidget *widget)
|
||||
else if (m_mouse.leftDrag)
|
||||
{
|
||||
// The left button is still being held down
|
||||
|
||||
|
||||
if (m_clickedWidget != (CNxWidget *)NULL)
|
||||
{
|
||||
// Handle a mouse drag event
|
||||
|
@ -85,6 +85,12 @@ namespace NxWM
|
||||
enum EStartWindowMessageOpcodes msgId; /**< The message opcode */
|
||||
FAR void *instance; /**< Object instance. */
|
||||
};
|
||||
|
||||
/**
|
||||
* The well-known name for the Start Window's message queue.
|
||||
*/
|
||||
|
||||
extern FAR const char *g_startWindowMqName;
|
||||
|
||||
/**
|
||||
* This class is the the start window application.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/********************************************************************************************
|
||||
* NxWidgets/nxwm/src/cnxconsole.cxx
|
||||
* NxWidgets/nxwm/src/cstartwindow.cxx
|
||||
*
|
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
@ -57,6 +57,16 @@
|
||||
* Pre-Processor Definitions
|
||||
********************************************************************************************/
|
||||
|
||||
/********************************************************************************************
|
||||
* Global Data
|
||||
********************************************************************************************/
|
||||
|
||||
/**
|
||||
* The well-known name for the Start Window's message queue.
|
||||
*/
|
||||
|
||||
FAR const char *NxWM::g_startWindowMqName = CONFIG_NXWM_STARTWINDOW_MQNAME;
|
||||
|
||||
/********************************************************************************************
|
||||
* CStartWindow Method Implementations
|
||||
********************************************************************************************/
|
||||
@ -554,10 +564,10 @@ int CStartWindow::startWindow(int argc, char *argv[])
|
||||
attr.mq_msgsize = sizeof(struct SStartWindowMessage);
|
||||
attr.mq_flags = 0;
|
||||
|
||||
mqd_t mqd = mq_open(CONFIG_NXWM_STARTWINDOW_MQNAME, O_RDONLY|O_CREAT, 0666, &attr);
|
||||
mqd_t mqd = mq_open(g_startWindowMqName, O_RDONLY|O_CREAT, 0666, &attr);
|
||||
if (mqd == (mqd_t)-1)
|
||||
{
|
||||
gdbg("ERROR: mq_open(%s) failed: %d\n", CONFIG_NXWM_STARTWINDOW_MQNAME, errno);
|
||||
gdbg("ERROR: mq_open(%s) failed: %d\n", g_startWindowMqName, errno);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
@ -573,12 +583,14 @@ int CStartWindow::startWindow(int argc, char *argv[])
|
||||
ssize_t nbytes = mq_receive(mqd, &msg, sizeof(struct SStartWindowMessage), 0);
|
||||
if (nbytes < 0)
|
||||
{
|
||||
int errval = errno;
|
||||
|
||||
// EINTR is not an error. The wait was interrupted by a signal and
|
||||
// we just need to try reading again.
|
||||
|
||||
if (errno != EINTR)
|
||||
if (errval != EINTR)
|
||||
{
|
||||
gdbg("ERROR: mq_receive failed: %d\n", errno);
|
||||
gdbg("ERROR: mq_receive failed: %d\n", errval);
|
||||
}
|
||||
}
|
||||
while (nbytes < 0);
|
||||
|
@ -77,10 +77,10 @@ CWindowControl::CWindowControl(FAR const NXWidgets::CWidgetStyle *style)
|
||||
attr.mq_msgsize = sizeof(struct SStartWindowMessage);
|
||||
attr.mq_flags = 0;
|
||||
|
||||
m_mqd = mq_open(CONFIG_NXWM_STARTWINDOW_MQNAME, O_WRONLY|O_CREAT, 0666, &attr);
|
||||
m_mqd = mq_open(g_startWindowMqName, O_WRONLY|O_CREAT, 0666, &attr);
|
||||
if (m_mqd == (mqd_t)-1)
|
||||
{
|
||||
gdbg("ERROR: mq_open(%s) failed: %d\n", CONFIG_NXWM_STARTWINDOW_MQNAME, errno);
|
||||
gdbg("ERROR: mq_open(%s) failed: %d\n", g_startWindowMqName, errno);
|
||||
}
|
||||
|
||||
// Add ourself as the window callback
|
||||
@ -126,7 +126,6 @@ void CWindowControl::destroy(IApplication *app)
|
||||
{
|
||||
gdbg("ERROR: mq_send failed: %d\n", errno);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -166,7 +165,7 @@ void CWindowControl::handleMouseEvent(void)
|
||||
|
||||
struct SStartWindowMessage outmsg;
|
||||
outmsg.msgId = MSGID_MOUSE_INPUT;
|
||||
outmsg.instance = (FAR void *)static_cast<CWidgetControl*>(this);
|
||||
outmsg.instance = (FAR void *)this;
|
||||
|
||||
int ret = mq_send(m_mqd, &outmsg, sizeof(struct SStartWindowMessage),
|
||||
CONFIG_NXWM_STARTWINDOW_MXMPRIO);
|
||||
@ -212,7 +211,7 @@ void CWindowControl::handleKeyboardEvent(void)
|
||||
|
||||
struct SStartWindowMessage outmsg;
|
||||
outmsg.msgId = MSGID_KEYBOARD_INPUT;
|
||||
outmsg.instance = (FAR void *)static_cast<CWidgetControl*>(this);
|
||||
outmsg.instance = (FAR void *)this;
|
||||
|
||||
int ret = mq_send(m_mqd, &outmsg, sizeof(struct SStartWindowMessage),
|
||||
CONFIG_NXWM_STARTWINDOW_MXMPRIO);
|
||||
|
Loading…
Reference in New Issue
Block a user