Merge "Merge remote-tracking branch 'gerrit/release' into stable" into refs/staging/stable
This commit is contained in:
commit
122ee7a367
5
dist/README
vendored
5
dist/README
vendored
@ -152,8 +152,3 @@ Much more information is available at:
|
||||
We hope you will enjoy using Qt!
|
||||
|
||||
- The Qt developers @ qt-project.org
|
||||
|
||||
|
||||
|
||||
In memory of Trond Kjernåsen.
|
||||
You will not be forgotten.
|
5
dist/changes-5.0.1
vendored
5
dist/changes-5.0.1
vendored
@ -98,6 +98,7 @@ Qt for Windows CE
|
||||
* Compiler Specific Changes *
|
||||
****************************************************************************
|
||||
|
||||
- MinGW: Statically link runtime libraries into qmake
|
||||
|
||||
****************************************************************************
|
||||
* Tools *
|
||||
@ -113,3 +114,7 @@ Qt for Windows CE
|
||||
* Important Behavior Changes *
|
||||
****************************************************************************
|
||||
|
||||
- QSharedMemory on Unix systems now no longer creates shared memory
|
||||
segments that are readable and writeable to everyone. From Qt 5.0.1
|
||||
forward, the segments are created readable and writeable only by the
|
||||
current user. This matches the behavior on Windows.
|
||||
|
@ -51,8 +51,6 @@ QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
|
||||
QMAKE_CXXFLAGS_EXCEPTIONS_OFF =
|
||||
|
||||
QMAKE_INCDIR =
|
||||
QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
|
||||
QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
|
||||
|
||||
QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
|
||||
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
|
||||
|
@ -54,7 +54,7 @@ CFLAGS = -c -o$@ -O \
|
||||
-DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
|
||||
-DUNICODE
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
LFLAGS = -static-libgcc -s
|
||||
LFLAGS = -static -s
|
||||
LIBS = -lole32 -luuid -ladvapi32 -lkernel32
|
||||
LINKQMAKE = g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
|
||||
ADDCLEAN =
|
||||
|
@ -50,7 +50,7 @@ QMAKE_DYNAMIC_LIST_FILE = $$PWD/QtCore.dynlist
|
||||
|
||||
contains(DEFINES,QT_EVAL):include(eval.pri)
|
||||
|
||||
HOST_BINS = $$[QT_HOST_BINS]
|
||||
HOST_BINS = $$[QT_HOST_BINS/raw]
|
||||
host_bins.name = host_bins
|
||||
host_bins.variable = HOST_BINS
|
||||
|
||||
|
@ -197,7 +197,7 @@ bool QSharedMemoryPrivate::create(int size)
|
||||
}
|
||||
|
||||
// create
|
||||
if (-1 == shmget(unix_key, size, 0666 | IPC_CREAT | IPC_EXCL)) {
|
||||
if (-1 == shmget(unix_key, size, 0600 | IPC_CREAT | IPC_EXCL)) {
|
||||
QString function = QLatin1String("QSharedMemory::create");
|
||||
switch (errno) {
|
||||
case EINVAL:
|
||||
@ -218,7 +218,7 @@ bool QSharedMemoryPrivate::create(int size)
|
||||
bool QSharedMemoryPrivate::attach(QSharedMemory::AccessMode mode)
|
||||
{
|
||||
// grab the shared memory segment id
|
||||
int id = shmget(unix_key, 0, (mode == QSharedMemory::ReadOnly ? 0444 : 0660));
|
||||
int id = shmget(unix_key, 0, (mode == QSharedMemory::ReadOnly ? 0400 : 0600));
|
||||
if (-1 == id) {
|
||||
setErrorString(QLatin1String("QSharedMemory::attach (shmget)"));
|
||||
return false;
|
||||
@ -263,7 +263,7 @@ bool QSharedMemoryPrivate::detach()
|
||||
size = 0;
|
||||
|
||||
// Get the number of current attachments
|
||||
int id = shmget(unix_key, 0, 0444);
|
||||
int id = shmget(unix_key, 0, 0400);
|
||||
cleanHandle();
|
||||
|
||||
struct shmid_ds shmid_ds;
|
||||
|
@ -136,10 +136,10 @@ key_t QSystemSemaphorePrivate::handle(QSystemSemaphore::AccessMode mode)
|
||||
}
|
||||
|
||||
// Get semaphore
|
||||
semaphore = semget(unix_key, 1, 0666 | IPC_CREAT | IPC_EXCL);
|
||||
semaphore = semget(unix_key, 1, 0600 | IPC_CREAT | IPC_EXCL);
|
||||
if (-1 == semaphore) {
|
||||
if (errno == EEXIST)
|
||||
semaphore = semget(unix_key, 1, 0666 | IPC_CREAT);
|
||||
semaphore = semget(unix_key, 1, 0600 | IPC_CREAT);
|
||||
if (-1 == semaphore) {
|
||||
setErrorString(QLatin1String("QSystemSemaphore::handle"));
|
||||
cleanHandle();
|
||||
|
@ -107,7 +107,7 @@ QXcbShmImage::QXcbShmImage(QXcbScreen *screen, const QSize &size, uint depth, QI
|
||||
if (!segmentSize)
|
||||
return;
|
||||
|
||||
int id = shmget(IPC_PRIVATE, segmentSize, IPC_CREAT | 0777);
|
||||
int id = shmget(IPC_PRIVATE, segmentSize, IPC_CREAT | 0600);
|
||||
if (id == -1)
|
||||
qWarning("QXcbShmImage: shmget() failed (%d) for size %d (%dx%d)",
|
||||
errno, segmentSize, size.width(), size.height());
|
||||
|
@ -382,6 +382,11 @@ void QXcbWindow::create()
|
||||
if (window()->flags() & Qt::WindowTransparentForInput)
|
||||
setTransparentForMouseEvents(true);
|
||||
|
||||
#ifdef XCB_USE_XLIB
|
||||
// force sync to read outstanding requests - see QTBUG-29106
|
||||
XSync(DISPLAY_FROM_XCB(m_screen), false);
|
||||
#endif
|
||||
|
||||
#ifndef QT_NO_DRAGANDDROP
|
||||
connection()->drag()->dndEnable(this, true);
|
||||
#endif
|
||||
|
@ -2221,12 +2221,17 @@ Q_WIDGETS_EXPORT bool qt_tryModalHelper(QWidget *widget, QWidget **rettop)
|
||||
bool QApplicationPrivate::isBlockedByModal(QWidget *widget)
|
||||
{
|
||||
widget = widget->window();
|
||||
return self->isWindowBlocked(widget->windowHandle());
|
||||
QWindow *window = widget->windowHandle();
|
||||
return window && self->isWindowBlocked(window);
|
||||
}
|
||||
|
||||
bool QApplicationPrivate::isWindowBlocked(QWindow *window, QWindow **blockingWindow) const
|
||||
{
|
||||
QWindow *unused = 0;
|
||||
if (!window) {
|
||||
qWarning().nospace() << "window == 0 passed.";
|
||||
return false;
|
||||
}
|
||||
if (!blockingWindow)
|
||||
blockingWindow = &unused;
|
||||
|
||||
|
@ -597,12 +597,14 @@ void QWidgetWindow::handleWindowStateChangedEvent(QWindowStateChangeEvent *event
|
||||
if (QTLWExtra *tle = m_widget->d_func()->maybeTopData())
|
||||
tle->normalGeometry = m_widget->geometry();
|
||||
widgetState |= Qt::WindowMaximized;
|
||||
widgetState &= ~(Qt::WindowMinimized | Qt::WindowFullScreen);
|
||||
break;
|
||||
case Qt::WindowFullScreen:
|
||||
if (effectiveState(widgetState) == Qt::WindowNoState)
|
||||
if (QTLWExtra *tle = m_widget->d_func()->maybeTopData())
|
||||
tle->normalGeometry = m_widget->geometry();
|
||||
widgetState |= Qt::WindowFullScreen;
|
||||
widgetState &= ~(Qt::WindowMinimized);
|
||||
break;
|
||||
case Qt::WindowActive: // Not handled by QWindow
|
||||
break;
|
||||
|
@ -1149,7 +1149,7 @@ void QCommonStylePrivate::startAnimation(QStyleAnimation *animation) const
|
||||
stopAnimation(animation->target());
|
||||
q->connect(animation, SIGNAL(destroyed()), SLOT(_q_removeAnimation()), Qt::UniqueConnection);
|
||||
animations.insert(animation->target(), animation);
|
||||
animation->start();
|
||||
animation->start(QAbstractAnimation::DeleteWhenStopped);
|
||||
}
|
||||
|
||||
/*! \internal */
|
||||
|
@ -53,7 +53,6 @@ QStyleAnimation::QStyleAnimation(QObject *target) : QAbstractAnimation(),
|
||||
moveToThread(target->thread());
|
||||
setParent(target);
|
||||
}
|
||||
connect(this, SIGNAL(finished()), SLOT(deleteLater()));
|
||||
}
|
||||
|
||||
QStyleAnimation::~QStyleAnimation()
|
||||
|
@ -210,7 +210,7 @@ int tst_QSharedMemory::remove(const QString &key)
|
||||
return -3;
|
||||
}
|
||||
|
||||
int id = shmget(unix_key, 0, 0660);
|
||||
int id = shmget(unix_key, 0, 0600);
|
||||
if (-1 == id) {
|
||||
qDebug() << "shmget failed" << strerror(errno);
|
||||
return -4;
|
||||
|
@ -3254,7 +3254,7 @@ void tst_QAccessibility::bridgeTest()
|
||||
ia2TableCell->Release();
|
||||
ia2Table->Release();
|
||||
#endif
|
||||
iaccTextEdit->Release();
|
||||
iaccTable->Release();
|
||||
}
|
||||
|
||||
iaccWindow->Release();
|
||||
|
@ -3042,7 +3042,7 @@ void Configure::generateQConfigPri()
|
||||
configStream << " slog2";
|
||||
|
||||
if (dictionary["DIRECTWRITE"] == "yes")
|
||||
configStream << "directwrite";
|
||||
configStream << " directwrite";
|
||||
|
||||
// ### For compatibility only, should be removed later.
|
||||
configStream << " qpa";
|
||||
|
Loading…
x
Reference in New Issue
Block a user