[141285] trunk/dports/aqua/qt4-mac

michaelld at macports.org michaelld at macports.org
Wed Oct 14 10:45:49 PDT 2015


Revision: 141285
          https://trac.macports.org/changeset/141285
Author:   michaelld at macports.org
Date:     2015-10-14 10:45:49 -0700 (Wed, 14 Oct 2015)
Log Message:
-----------
qt4-mac:
+ add patches to address tickets #43746, #46608, and #48516;
+ nothing critical for most users, so no rev-bump;
+ fix commented out error when trying to build +cxx11 using clang (my bad).

Modified Paths:
--------------
    trunk/dports/aqua/qt4-mac/Portfile

Added Paths:
-----------
    trunk/dports/aqua/qt4-mac/files/patch-src_corelib_io_qprocess_unix.cpp.diff
    trunk/dports/aqua/qt4-mac/files/patch-src_gui_dialogs_qfiledialog_mac.mm.diff
    trunk/dports/aqua/qt4-mac/files/patch-src_gui_kernel_qcursor_mac.mm.diff

Modified: trunk/dports/aqua/qt4-mac/Portfile
===================================================================
--- trunk/dports/aqua/qt4-mac/Portfile	2015-10-14 15:38:55 UTC (rev 141284)
+++ trunk/dports/aqua/qt4-mac/Portfile	2015-10-14 17:45:49 UTC (rev 141285)
@@ -249,6 +249,28 @@
 patchfiles-append   \
     patch-src_gui_painting_qpaintengine_mac.diff
 
+# (24) fix qcursor_mac; already committed upstream; see also:
+# https://trac.macports.org/ticket/48516
+# http://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/platforms/cocoa/qcocoacursor.mm?id=02ea0235216beef390e9868ff770c7a54d70db83
+# https://developer.apple.com/library/prerelease/mac/documentation/Carbon/Reference/QuartzEventServicesRef/#//apple_ref/c/func/CGEventCreateMouseEvent
+
+patchfiles-append   \
+    patch-src_gui_kernel_qcursor_mac.mm.diff
+
+# (25) avoid zombie processes; see also:
+# https://trac.macports.org/ticket/46608
+# https://codereview.qt-project.org/#/c/61294/
+# approved by abandoned.
+
+patchfiles-append   \
+    patch-src_corelib_io_qprocess_unix.cpp.diff
+
+# (26) fix build on Leopard; see also:
+# https://trac.macports.org/ticket/43746
+
+patchfiles-append   \
+    patch-src_gui_dialogs_qfiledialog_mac.mm.diff
+
 # error out if trying to build on a new OSX version (> 10.11).
 
 platform darwin {
@@ -1037,7 +1059,7 @@
             [string match *clang* ${configure.cxx}]} {
 
             ui_msg "\nERROR: C++11 support for Qt4 is not available when using Clang and libc++.\n"
-#            error "unsupported platform for C++11 support"
+            error "unsupported platform for C++11 support"
 
         }
     }

Added: trunk/dports/aqua/qt4-mac/files/patch-src_corelib_io_qprocess_unix.cpp.diff
===================================================================
--- trunk/dports/aqua/qt4-mac/files/patch-src_corelib_io_qprocess_unix.cpp.diff	                        (rev 0)
+++ trunk/dports/aqua/qt4-mac/files/patch-src_corelib_io_qprocess_unix.cpp.diff	2015-10-14 17:45:49 UTC (rev 141285)
@@ -0,0 +1,16 @@
+--- src/corelib/io/qprocess_unix.cpp.orig	2015-10-14 13:02:18.000000000 -0400
++++ src/corelib/io/qprocess_unix.cpp	2015-10-14 13:02:43.000000000 -0400
+@@ -1302,11 +1302,11 @@
+ 
+     // read a byte from the death pipe
+     char c;
+-    qt_safe_read(deathPipe[0], &c, 1);
++    qint64 readcount = qt_safe_read(deathPipe[0], &c, 1);
+ 
+     // check if our process is dead
+     int exitStatus;
+-    if (qt_safe_waitpid(pid_t(pid), &exitStatus, WNOHANG) > 0) {
++    if (qt_safe_waitpid(pid_t(pid), &exitStatus, readcount > 0 ? WNOHANG : 0) > 0) {
+         processManager()->remove(q);
+         crashed = !WIFEXITED(exitStatus);
+         exitCode = WEXITSTATUS(exitStatus);

Added: trunk/dports/aqua/qt4-mac/files/patch-src_gui_dialogs_qfiledialog_mac.mm.diff
===================================================================
--- trunk/dports/aqua/qt4-mac/files/patch-src_gui_dialogs_qfiledialog_mac.mm.diff	                        (rev 0)
+++ trunk/dports/aqua/qt4-mac/files/patch-src_gui_dialogs_qfiledialog_mac.mm.diff	2015-10-14 17:45:49 UTC (rev 141285)
@@ -0,0 +1,18 @@
+--- src/gui/dialogs/qfiledialog_mac.mm.orig	2015-05-07 10:14:43.000000000 -0400
++++ src/gui/dialogs/qfiledialog_mac.mm	2015-10-14 12:02:40.000000000 -0400
+@@ -297,6 +297,7 @@
+     CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef)filename, kCFURLPOSIXPathStyle, isDir);
+     CFBooleanRef isHidden;
+     Boolean errorOrHidden = false;
++#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
+     if (!CFURLCopyResourcePropertyForKey(url, kCFURLIsHiddenKey, &isHidden, NULL)) {
+         errorOrHidden = true;
+     } else {
+@@ -304,6 +305,7 @@
+             errorOrHidden = true;
+         CFRelease(isHidden);
+     }
++#endif
+     CFRelease(url);
+     return errorOrHidden;
+ #else

Added: trunk/dports/aqua/qt4-mac/files/patch-src_gui_kernel_qcursor_mac.mm.diff
===================================================================
--- trunk/dports/aqua/qt4-mac/files/patch-src_gui_kernel_qcursor_mac.mm.diff	                        (rev 0)
+++ trunk/dports/aqua/qt4-mac/files/patch-src_gui_kernel_qcursor_mac.mm.diff	2015-10-14 17:45:49 UTC (rev 141285)
@@ -0,0 +1,17 @@
+--- src/gui/kernel/qcursor_mac.mm.orig
++++ src/gui/kernel/qcursor_mac.mm
+@@ -319,9 +319,11 @@
+     pos.x = x;
+     pos.y = y;
+ 
+-    CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0);
+-    CGEventPost(kCGHIDEventTap, e);
+-    CFRelease(e);
++    CGEventRef e = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, pos, kCGMouseButtonLeft);
++    if (e != NULL) {
++        CGEventPost(kCGHIDEventTap, e);
++        CFRelease(e);
++    }
+ #else
+     CGWarpMouseCursorPosition(CGPointMake(x, y));
+ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20151014/4c3a08b3/attachment-0001.html>


More information about the macports-changes mailing list