[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