diff options
author | Jeremy Katz <jeremy.katz@nokia.com> | 2009-10-02 10:53:47 (GMT) |
---|---|---|
committer | Jeremy Katz <jeremy.katz@nokia.com> | 2009-10-02 10:58:17 (GMT) |
commit | 1eafe0ea2ecc3bce733d574f39bc26652baaec38 (patch) | |
tree | 6f66f6798f84183c7743e517199579a6eb1b0732 | |
parent | a586b10bfbf2540e282568b99a4facefa4f24853 (diff) | |
download | Qt-1eafe0ea2ecc3bce733d574f39bc26652baaec38.zip Qt-1eafe0ea2ecc3bce733d574f39bc26652baaec38.tar.gz Qt-1eafe0ea2ecc3bce733d574f39bc26652baaec38.tar.bz2 |
make private qws/qvfb data directory non-default, default to non-user specific
This turns the changes in 072e748adbdab1d51b240b9983ce82b213b66f18 off
by default. Define QT_PRIVATE_QWS to turn them on. This must be done for
both qvfb (X11 build) and libQtGui (QWS build). Failure to do so will result
in an inability for applications to communicate with the server.
Task-number: QTBUG-1711
Reviewed-by: Paul
-rw-r--r-- | src/gui/embedded/qvfbhdr.h | 18 | ||||
-rw-r--r-- | src/gui/kernel/qapplication_qws.cpp | 2 | ||||
-rw-r--r-- | tools/qvfb/qvfb.cpp | 2 | ||||
-rw-r--r-- | tools/qvfb/qvfbshmem.cpp | 6 |
4 files changed, 23 insertions, 5 deletions
diff --git a/src/gui/embedded/qvfbhdr.h b/src/gui/embedded/qvfbhdr.h index f02286e..eff5fc2 100644 --- a/src/gui/embedded/qvfbhdr.h +++ b/src/gui/embedded/qvfbhdr.h @@ -56,6 +56,7 @@ QT_MODULE(Gui) #define QT_QWS_TEMP_DIR "/tmp" #endif +#ifdef QT_PRIVATE_QWS #define QT_VFB_DATADIR(DISPLAY) QString("%1/qtembedded-%2-%3") \ .arg(QT_QWS_TEMP_DIR).arg(getuid()).arg(DISPLAY) @@ -67,7 +68,22 @@ QT_MODULE(Gui) .append("/qtvfb_map") #define QT_VFB_SOUND_PIPE(DISPLAY) QT_VFB_DATADIR(DISPLAY) \ .append("/qt_soundserver") -#define QTE_PIPE "QtEmbedded" +#define QTE_PIPE(DISPLAY) QT_VFB_DATADIR(DISPLAY) \ + .append("/QtEmbedded") +#define QTE_PIPE_QVFB QTE_PIPE +#else +#define QT_VFB_DATADIR(DISPLAY) QString("%1/qtembedded-%2") \ + .arg(QT_QWS_TEMP_DIR).arg(DISPLAY) +#define QT_VFB_MOUSE_PIPE(DISPLAY) QString("/tmp/.qtvfb_mouse-%1").arg(DISPLAY) +#define QT_VFB_KEYBOARD_PIPE(DISPLAY) QString("/tmp/.qtvfb_keyboard-%1").arg(DISPLAY) +#define QT_VFB_MAP(DISPLAY) QString("/tmp/.qtvfb_map-%1").arg(DISPLAY) +#define QT_VFB_SOUND_PIPE(DISPLAY) QString("/tmp/.qt_soundserver-%1").arg(DISPLAY) +#define QTE_PIPE(DISPLAY) QT_VFB_DATADIR(DISPLAY) \ + .append("/QtEmbedded-%1") \ + .arg(DISPLAY) +#define QTE_PIPE_QVFB(DISPLAY) QString("/tmp/qtembedded-%1/QtEmbedded-%1") \ + .arg(DISPLAY) +#endif struct QVFbHeader { diff --git a/src/gui/kernel/qapplication_qws.cpp b/src/gui/kernel/qapplication_qws.cpp index 01c64f1..634f23a 100644 --- a/src/gui/kernel/qapplication_qws.cpp +++ b/src/gui/kernel/qapplication_qws.cpp @@ -232,7 +232,7 @@ QString qws_dataDir() // Get the filename of the pipe Qt for Embedded Linux uses for server/client comms Q_GUI_EXPORT QString qws_qtePipeFilename() { - return (qws_dataDir().append(QTE_PIPE)); + return QTE_PIPE(qws_display_id); } static void setMaxWindowRect(const QRect &rect) diff --git a/tools/qvfb/qvfb.cpp b/tools/qvfb/qvfb.cpp index 6119419..59e8dae 100644 --- a/tools/qvfb/qvfb.cpp +++ b/tools/qvfb/qvfb.cpp @@ -135,7 +135,7 @@ static const char *red_off_led_xpm[] = { static bool copyButtonConfiguration(const QString &prefix, int displayId) { - const QString destDir = QT_VFB_DATADIR(displayId); + const QString destDir = QT_VFB_DATADIR(displayId).append("/"); const QFileInfo src(prefix + QLatin1String("defaultbuttons.conf")); const QFileInfo dst(destDir + QLatin1String("defaultbuttons.conf")); unlink(dst.absoluteFilePath().toLatin1().constData()); diff --git a/tools/qvfb/qvfbshmem.cpp b/tools/qvfb/qvfbshmem.cpp index 8c4cdb9..5a2da0d 100644 --- a/tools/qvfb/qvfbshmem.cpp +++ b/tools/qvfb/qvfbshmem.cpp @@ -128,7 +128,9 @@ QShMemViewProtocol::QShMemViewProtocol(int displayid, const QSize &s, if ( logname ) username = logname; - QString oldPipe = "/tmp/qtembedded-" + username + "/" + QString(QTE_PIPE).arg(displayid); + qws_dataDir(displayid); + + QString oldPipe = "/tmp/qtembedded-" + username + "/" + QString("QtEmbedded-%1").arg(displayid); int oldPipeSemkey = ftok(oldPipe.toLatin1().constData(), 'd'); if (oldPipeSemkey != -1) { int oldPipeLockId = semget(oldPipeSemkey, 0, 0); @@ -149,7 +151,7 @@ QShMemViewProtocol::QShMemViewProtocol(int displayid, const QSize &s, } } - displayPipe = qws_dataDir(displayid).append(QTE_PIPE); + displayPipe = QTE_PIPE_QVFB(displayid); kh = new QVFbKeyPipeProtocol(displayid); /* should really depend on receiving qt version, but how can |