From d5dcc15006f7bfb580c3a0f491ff923f8ac2b103 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 16 Jul 2020 10:28:53 +0200 Subject: Fix compilation after moving the QRegion conversion functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Temporarily remove Multimedia. Task-number: QTBUG-81876 Change-Id: Ic701110cae007fc87dd00ce7bb6dfff7dd8ab057 Reviewed-by: AndrĂ© de la Rocha --- src/winextras/qwinfunctions.cpp | 46 +++++++++-------------------------------- 1 file changed, 10 insertions(+), 36 deletions(-) (limited to 'src') diff --git a/src/winextras/qwinfunctions.cpp b/src/winextras/qwinfunctions.cpp index 68f2c99..b0e0ff4 100644 --- a/src/winextras/qwinfunctions.cpp +++ b/src/winextras/qwinfunctions.cpp @@ -202,54 +202,28 @@ HRGN qt_RectToHRGN(const QRect &rc) /*! \since 5.2 + \obsolete - Returns a HRGN that is equivalent to the given \a region. + This function is equivalent to QRegion::toHRGN() + + \sa QRegion::toHRGN() */ HRGN QtWin::toHRGN(const QRegion ®ion) { - const int size = region.rectCount(); - if (size == 0) - return nullptr; - - HRGN resultRgn = nullptr; - const auto rects = region.begin(); - resultRgn = qt_RectToHRGN(rects[0]); - for (int i = 1; i < size; i++) { - HRGN tmpRgn = qt_RectToHRGN(rects[i]); - int err = CombineRgn(resultRgn, resultRgn, tmpRgn, RGN_OR); - if (err == ERROR) - qWarning("Error combining HRGNs."); - DeleteObject(tmpRgn); - } - return resultRgn; + return region.toHRGN(); } /*! \since 5.2 + \obsolete + + This function is equivalent to QRegion::fromHRGN(). - Returns a QRegion that is equivalent to the given \a hrgn. + \sa QRegion::fromHRGN() */ QRegion QtWin::fromHRGN(HRGN hrgn) { - DWORD regionDataSize = GetRegionData(hrgn, 0, nullptr); - if (regionDataSize == 0) - return QRegion(); - - auto regionData = reinterpret_cast(malloc(regionDataSize)); - if (!regionData) - return QRegion(); - - QRegion region; - if (GetRegionData(hrgn, regionDataSize, regionData) == regionDataSize) { - auto pRect = reinterpret_cast(regionData->Buffer); - for (DWORD i = 0; i < regionData->rdh.nCount; ++i) - region += QRect(pRect[i].left, pRect[i].top, - pRect[i].right - pRect[i].left, - pRect[i].bottom - pRect[i].top); - } - - free(regionData); - return region; + return QRegion::fromHRGN(hrgn); } /*! -- cgit v1.2.3