void QQnxWindow::setVisible(bool visible) { qWindowDebug() << Q_FUNC_INFO << "window =" << window() << "visible =" << visible; if (m_visible == visible || window()->type() == Qt::Desktop) return; // The first time through we join a window group if appropriate. if (m_parentGroupName.isNull() && !m_isTopLevel) { joinWindowGroup(parent() ? static_cast<QQnxWindow*>(parent())->groupName() : QByteArray(m_screen->windowGroupName())); } m_visible = visible; QQnxWindow *root = this; while (root->m_parentWindow) root = root->m_parentWindow; root->updateVisibility(root->m_visible); QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), window()->geometry().size())); if (visible) { applyWindowState(); } else { // Flush the context, otherwise it won't disappear immediately screen_flush_context(m_screenContext, 0); } }
void QQnxWindow::setVisible(bool visible) { qWindowDebug() << Q_FUNC_INFO << "window =" << window() << "visible =" << visible; m_visible = visible; QQnxWindow *root = this; while (root->m_parentWindow) root = root->m_parentWindow; root->updateVisibility(root->m_visible); window()->requestActivate(); if (window()->isTopLevel()) { QWindowSystemInterface::handleExposeEvent(window(), window()->geometry()); if (!visible) { // Flush the context, otherwise it won't disappear immediately screen_flush_context(m_screenContext, 0); } } }