Merge "fix: Print a warning message if the Xcb EGL initialize failed"
commit
b18a845bef
|
|
@ -87,7 +87,11 @@ bool QXcbEglIntegration::initialize(QXcbConnection *connection)
|
|||
|
||||
m_native_interface_handler.reset(new QXcbEglNativeInterfaceHandler(connection->nativeInterface()));
|
||||
|
||||
qCDebug(lcQpaGl) << "Xcb EGL gl-integration successfully initialized";
|
||||
if (success)
|
||||
qCDebug(lcQpaGl) << "Xcb EGL gl-integration successfully initialized";
|
||||
else
|
||||
qCWarning(lcQpaGl) << "Xcb EGL gl-integration initialize failed";
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ void AnchorData::refreshSizeHints(const QLayoutStyleInfo *styleInfo)
|
|||
if (anchorPrivate->hasSize) {
|
||||
// Anchor has user-defined size
|
||||
prefSizeHint = anchorPrivate->preferredSize;
|
||||
} else {
|
||||
} else if (styleInfo) {
|
||||
// Fetch size information from style
|
||||
const Qt::Orientation orient = QGraphicsAnchorLayoutPrivate::edgeOrientation(from->m_edge);
|
||||
qreal s = styleInfo->defaultSpacing(orient);
|
||||
|
|
@ -241,6 +241,8 @@ void AnchorData::refreshSizeHints(const QLayoutStyleInfo *styleInfo)
|
|||
s = 0;
|
||||
}
|
||||
prefSizeHint = s;
|
||||
} else {
|
||||
prefSizeHint = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2652,23 +2652,25 @@ void QGraphicsItemPrivate::setEnabledHelper(bool newEnabled, bool explicitly, bo
|
|||
|
||||
// Certain properties are dropped when an item is disabled.
|
||||
if (!newEnabled) {
|
||||
if (scene && scene->mouseGrabberItem() == q_ptr)
|
||||
q_ptr->ungrabMouse();
|
||||
if (q_ptr->hasFocus()) {
|
||||
// Disabling the closest non-panel ancestor of the focus item
|
||||
// causes focus to pop to the next item, otherwise it's cleared.
|
||||
QGraphicsItem *focusItem = scene->focusItem();
|
||||
bool clear = true;
|
||||
if (isWidget && !focusItem->isPanel() && q_ptr->isAncestorOf(focusItem)) {
|
||||
do {
|
||||
if (focusItem == q_ptr) {
|
||||
clear = !static_cast<QGraphicsWidget *>(q_ptr)->focusNextPrevChild(true);
|
||||
break;
|
||||
}
|
||||
} while ((focusItem = focusItem->parentWidget()) && !focusItem->isPanel());
|
||||
if (scene) {
|
||||
if (scene->mouseGrabberItem() == q_ptr)
|
||||
q_ptr->ungrabMouse();
|
||||
if (q_ptr->hasFocus()) {
|
||||
// Disabling the closest non-panel ancestor of the focus item
|
||||
// causes focus to pop to the next item, otherwise it's cleared.
|
||||
QGraphicsItem *focusItem = scene->focusItem();
|
||||
bool clear = true;
|
||||
if (isWidget && !focusItem->isPanel() && q_ptr->isAncestorOf(focusItem)) {
|
||||
do {
|
||||
if (focusItem == q_ptr) {
|
||||
clear = !static_cast<QGraphicsWidget *>(q_ptr)->focusNextPrevChild(true);
|
||||
break;
|
||||
}
|
||||
} while ((focusItem = focusItem->parentWidget()) && !focusItem->isPanel());
|
||||
}
|
||||
if (clear)
|
||||
q_ptr->clearFocus();
|
||||
}
|
||||
if (clear)
|
||||
q_ptr->clearFocus();
|
||||
}
|
||||
if (q_ptr->isSelected())
|
||||
q_ptr->setSelected(false);
|
||||
|
|
@ -7149,14 +7151,14 @@ void QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||
if ((item->flags() & ItemIsMovable) && !QGraphicsItemPrivate::movableAncestorIsSelected(item)) {
|
||||
QPointF currentParentPos;
|
||||
QPointF buttonDownParentPos;
|
||||
if (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorIgnoresTransformations) {
|
||||
if (view && (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorIgnoresTransformations)) {
|
||||
// Items whose ancestors ignore transformations need to
|
||||
// map screen coordinates to local coordinates, then map
|
||||
// those to the parent.
|
||||
QTransform viewToItemTransform = (item->deviceTransform(view->viewportTransform())).inverted();
|
||||
currentParentPos = mapToParent(viewToItemTransform.map(QPointF(view->mapFromGlobal(event->screenPos()))));
|
||||
buttonDownParentPos = mapToParent(viewToItemTransform.map(QPointF(view->mapFromGlobal(event->buttonDownScreenPos(Qt::LeftButton)))));
|
||||
} else if (item->flags() & ItemIgnoresTransformations) {
|
||||
} else if (view && (item->flags() & ItemIgnoresTransformations)) {
|
||||
// Root items that ignore transformations need to
|
||||
// calculate their diff by mapping viewport coordinates
|
||||
// directly to parent coordinates.
|
||||
|
|
|
|||
|
|
@ -2143,7 +2143,7 @@ void QGraphicsWidget::setTabOrder(QGraphicsWidget *first, QGraphicsWidget *secon
|
|||
return;
|
||||
}
|
||||
QGraphicsScene *scene = first ? first->scene() : second->scene();
|
||||
if (!scene && (!first || !second)) {
|
||||
if (!scene) {
|
||||
qWarning("QGraphicsWidget::setTabOrder: assigning tab order from/to the"
|
||||
" scene requires the item to be in a scene.");
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -784,7 +784,8 @@ void QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting(QGraphicsWidget *new
|
|||
|
||||
// detach from current focus chain; skip this widget subtree.
|
||||
focusBefore->d_func()->focusNext = focusAfter;
|
||||
focusAfter->d_func()->focusPrev = focusBefore;
|
||||
if (focusAfter)
|
||||
focusAfter->d_func()->focusPrev = focusBefore;
|
||||
|
||||
if (newParent) {
|
||||
// attach to new parent's focus chain as the last element
|
||||
|
|
@ -800,7 +801,8 @@ void QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting(QGraphicsWidget *new
|
|||
|
||||
newFocusLast->d_func()->focusNext = q;
|
||||
focusLast->d_func()->focusNext = newFocusAfter;
|
||||
newFocusAfter->d_func()->focusPrev = focusLast;
|
||||
if (newFocusAfter)
|
||||
newFocusAfter->d_func()->focusPrev = focusLast;
|
||||
focusPrev = newFocusLast;
|
||||
} else {
|
||||
// no new parent, so just link up our own prev->last widgets.
|
||||
|
|
|
|||
Loading…
Reference in New Issue