Index: _resources/port1.0/group/qt4-1.0.tcl
===================================================================
--- _resources/port1.0/group/qt4-1.0.tcl	(revision 131195)
+++ _resources/port1.0/group/qt4-1.0.tcl	(working copy)
@@ -57,27 +57,27 @@
 
 # standard install directory
 global qt_dir
-set qt_dir              ${prefix}
+set qt_dir              ${prefix}/libexec/${qt_name}
 
 # standard Qt documents directory
 global qt_docs_dir
-set qt_docs_dir         ${qt_dir}/share/doc/${qt_name}
+set qt_docs_dir         ${prefix}/share/doc/${qt_name}
 
 # standard Qt plugins directory
 global qt_plugins_dir
-set qt_plugins_dir      ${qt_dir}/share/${qt_name}/plugins
+set qt_plugins_dir      ${prefix}/share/${qt_name}/plugins
 
 # standard Qt mkspecs directory
 global qt_mkspecs_dir
-set qt_mkspecs_dir      ${qt_dir}/share/${qt_name}/mkspecs
+set qt_mkspecs_dir      ${prefix}/share/${qt_name}/mkspecs
 
 # standard Qt imports directory
 global qt_imports_dir
-set qt_imports_dir      ${qt_dir}/share/${qt_name}/imports
+set qt_imports_dir      ${prefix}/share/${qt_name}/imports
 
 # standard Qt includes directory
 global qt_includes_dir
-set qt_includes_dir     ${qt_dir}/include
+set qt_includes_dir     ${prefix}/include/${qt_name}
 
 # standard Qt libraries directory
 global qt_libs_dir
@@ -97,27 +97,27 @@
 
 # standard Qt data directory
 global qt_data_dir
-set qt_data_dir         ${qt_dir}/share/${qt_name}
+set qt_data_dir         ${prefix}/share/${qt_name}
 
 # standard Qt translations directory
 global qt_translations_dir
-set qt_translations_dir ${qt_dir}/share/${qt_name}/translations
+set qt_translations_dir ${prefix}/share/${qt_name}/translations
 
 # standard Qt sysconf directory
 global qt_sysconf_dir
-set qt_sysconf_dir      ${qt_dir}/etc/${qt_name}
+set qt_sysconf_dir      ${prefix}/etc/${qt_name}
 
 # standard Qt examples directory
 global qt_examples_dir
-set qt_examples_dir     ${qt_dir}/share/${qt_name}/examples
+set qt_examples_dir     ${prefix}/share/${qt_name}/examples
 
 # standard Qt demos directory
 global qt_demos_dir
-set qt_demos_dir        ${qt_dir}/share/${qt_name}/demos
+set qt_demos_dir        ${prefix}/share/${qt_name}/demos
 
 # standard CMake module directory for Qt-related files
 global qt_cmake_module_dir
-set qt_cmake_module_dir ${qt_dir}/share/cmake/Modules
+set qt_cmake_module_dir ${qt_libs_dir}/cmake
 
 # standard qmake command location
 global qt_qmake_cmd
@@ -141,7 +141,7 @@
 
 # standard PKGCONFIG path
 global qt_pkg_config_dir
-set qt_pkg_config_dir   ${qt_libs_dir}/pkgconfig
+set qt_pkg_config_dir   ${prefix}/lib/pkgconfig
 
 # standard cmake info for Qt4
 global qt_cmake_defines
Index: aqua/qt4-mac/Portfile
===================================================================
--- aqua/qt4-mac/Portfile	(revision 131193)
+++ aqua/qt4-mac/Portfile	(working copy)
@@ -11,11 +11,8 @@
 PortGroup           compiler_blacklist_versions 1.0
 
 name                qt4-mac
-# qt4-mac-devel is "replaced_by" this port,
-# so this port cannot conflict with it.
-#conflicts           qt3 qt3-mac qt4-mac-devel
-conflicts           qt3 qt3-mac qt5-mac
-version             4.8.6 
+version             4.8.6
+revision            1
 set branch          [join [lrange [split ${version} .] 0 1] .]
 
 categories          aqua
@@ -27,7 +24,8 @@
 description         Qt Tool Kit
 long_description    Qt Tool Kit: A cross-platform framework \
                     (headers, data, and libraries) for writing \
-                    cross-platform GUI-based applications.
+                    cross-platform GUI-based applications. \
+                    Installs to ${qt_dir}
 
 distname            qt-everywhere-opensource-src-${version}
 
@@ -245,6 +243,10 @@
 patchfiles-append   \
     patch-10.10.diff
 
+# (25) avoid leaving zombies when starting an inexisting executable through QProcess
+patchfiles-append \
+    qprocess-nozombies.patch
+
 # error out if trying to build on a new OSX version (> 10.10).
 
 platform darwin {
@@ -504,7 +506,8 @@
     -no-pch                                               \
     -framework                                            \
     -no-phonon                                            \
-    -no-phonon-backend
+    -no-phonon-backend                                    \
+    -fontconfig -system-freetype
 
 # Stop configure script from searching for SQL Drivers
 #    not available from MacPorts.
@@ -640,6 +643,20 @@
 
 destroot.post_args
 
+pre-destroot {
+    # this isn't really nice if the user has 2nd thoughts and wants to install those html files after all
+    # (and knows how to get port to redo an install without cleaning and rebuilding everything).
+    # Let's hope that happens rarely enough to prefer speeding up the destroot step for the others
+    if {![variant_isset htmldocs]} {
+        if {[file exists ${worksrcpath}/doc/html/images]} {
+            ui_msg "cleaning out ${worksrcpath}/doc/html per your request"
+            delete file ${worksrcpath}/doc/html/images ${worksrcpath}/doc/html/scripts ${worksrcpath}/doc/html/style
+            eval file delete [glob ${worksrcpath}/doc/html/*.html]
+            eval file delete [glob ${worksrcpath}/doc/html/qt.*]
+        }
+    }
+}
+
 post-destroot {
 
     set destroot_qt ${destroot}${qt_dir}
@@ -667,7 +684,12 @@
 
         # use ${prefix} correctly
 
-        reinplace "s|${prefix}/|\${prefix}/|g" ${fixfile}
+        # RJVB:
+        # don't replace ${prefix} (e.g. /opt/local) with \${prefix}
+        # unless ${qt_dir} == ${prefix} (but I don't see the point at all...)
+        if {${prefix} eq ${qt_dir}} {
+            reinplace "s|${prefix}/|\${prefix}/|g" ${fixfile}
+        }
 
         # fix libdir
 
@@ -701,8 +723,12 @@
 
     file delete -force ${destroot}${qt_pkg_config_dir}
     xinstall -m 755 -d ${destroot}${qt_libs_dir}
+#    move ${destroot}${qt_frameworks_dir}/pkgconfig \
+#        ${destroot}${qt_libs_dir}
+# RJVB: ${destroot}${qt_libs_dir} is NOT always equal to ${qt_pkg_config_dir} !!
     move ${destroot}${qt_frameworks_dir}/pkgconfig \
-        ${destroot}${qt_libs_dir}
+        ${destroot}${qt_pkg_config_dir}
+    ln -s ${qt_pkg_config_dir} ${destroot}${qt_libs_dir}/pkgconfig
 
     # move .la files from ${qt_frameworks_dir} to ${qt_libs_dir}
 
@@ -745,6 +771,9 @@
 
     # link includes and libraries for each actual installed framework
 
+    # make sure that qt_includes_dir exist; apparently it will not have been created at this point,
+    # despite the -headerdir ${qt_includes_dir} argument to configure. Because of doing a framework build?
+    exec mkdir -p ${destroot}${qt_includes_dir}
     foreach fixfile [exec find ${destroot}${qt_frameworks_dir} \
                          -name "*.framework" | \
                          sed -e "s@${destroot}@@g"] {
@@ -972,7 +1001,19 @@
 
     ln -s ${qt_frameworks_dir}/QtGui.framework/Resources \
         ${destroot}${qt_libs_dir}
-
+    ln -s ${qt_qmake_cmd} ${destroot}/${prefix}/bin/qmake4.8
+    ln -s ${qt_moc_cmd} ${destroot}/${prefix}/bin/moc4.8
+    ln -s ${qt_uic_cmd} ${destroot}/${prefix}/bin/uic4.8
+    ln -s ${qt_lrelease_cmd} ${destroot}/${prefix}/bin/lrelease4.8
+    if {[variant_isset KDE]} {
+        # expose KDE4 styles to Qt4:
+        ln -s ${prefix}/lib/kde4/plugins/styles ${destroot}${qt_plugins_dir}/
+    }
+    if {[variant_isset noexceptions ]} {
+        # building with -no-exceptions will add a section to QtCore/qconfig.h that has to be removed
+        # given that we did NOT build QtCore WITHOUT exceptions...
+        exec patch -d ${destroot}${qt_frameworks_dir} -Np0 -i ${filespath}/qconfig-remove-EXCEPTIONS.diff
+    }
 }
 
 variant odbc description {Enable iODBC SQL Driver} {
@@ -1005,7 +1046,7 @@
     configure.args-append -release -no-declarative-debug
 }
 
-variant openvg description {Build with support for OpenVG} {
+variant openvg description {Build with *experimental* support for OpenVG} {
 
     depends_lib-append port:mesa
 
@@ -1058,10 +1099,26 @@
 
 }
 
+variant htmldocs description {Install HTML documentation (>200Mb)} {}
+
 post-activate {
     ui_msg "NOTE: Qt database plugins for mysql55, postgresql91, and sqlite2 are NOT installed by this port\; they are installed by qt4-mac-*-plugin instead."
 }
 
+variant KDE description {Include RJVB's patches for use with KDE} {
+    patchfiles-append  qt4-correct-systraymenu-iconhandling.patch \
+                       qt4-deactivate-menurole-heuristics.patch \
+                       prevent_addTitleRelated_crash.patch \
+                       debug-negative-qtimerint.patch \
+                       silence-qfilesystemwatcher.patch
+}
+
+variant noexceptions description {build without using exceptions internally} {
+    # (26) don't build with exceptions, which gives a completely ABI-compatible build
+    patchfiles-append       disable-exceptions.patch
+    configure.args-append   -no-exceptions
+}
+
 livecheck.type      regex
 livecheck.url       http://download.qt-project.org/official_releases/qt/${branch}/
 livecheck.regex     >(\[0-9.\]+)/<
Index: aqua/qt4-mac/files/debug-negative-qtimerint.patch
===================================================================
--- aqua/qt4-mac/files/debug-negative-qtimerint.patch	(revision 0)
+++ aqua/qt4-mac/files/debug-negative-qtimerint.patch	(working copy)
@@ -0,0 +1,87 @@
+--- src/corelib/kernel/orig.qobject.cpp	2014-04-10 20:37:11.000000000 +0200
++++ src/corelib/kernel/qobject.cpp	2014-12-09 00:43:41.000000000 +0100
+@@ -1597,12 +1597,83 @@
+     \sa timerEvent(), killTimer(), QTimer::singleShot()
+ */
+ 
++#include <unistd.h>
++#include <execinfo.h>
++#include <cxxabi.h>
++
++static QString maybeDemangledName(char *name)
++{
++    const int len = strlen(name);
++    QByteArray in = QByteArray::fromRawData(name, len);
++#ifdef Q_OS_MAC
++    const int mangledNameStart = in.indexOf(" _"), startOffset = 1;
++#elif defined(__FreeBSD__)
++    const int mangledNameStart = in.indexOf(" <_"), startOffset = 2;
++#elif defined(__sun) && defined(__SVR4)
++    const int mangledNameStart = in.indexOf("'"), startOffset = 0;
++#else
++    const int mangledNameStart = in.indexOf("(_"), startOffset = 1;
++#endif
++    if (mangledNameStart >= 0) {
++        int mangledNameEnd = in.indexOf('+', mangledNameStart + 2);
++        // check for and suppress trailing whitespace:
++        if (mangledNameEnd > 1 && isspace(name[mangledNameEnd-1])) {
++            mangledNameEnd -= 1;
++            while (mangledNameEnd > 1 && isspace(name[mangledNameEnd-1])) {
++                --mangledNameEnd;
++            }
++        }
++        if (mangledNameEnd >= 0) {
++            int status;
++            // if we forget about this line and the one that undoes its effect we don't change the
++            // internal data of the QByteArray::fromRawData() ;)
++            const char endChar = name[mangledNameEnd];
++            name[mangledNameEnd] = 0;
++            char *demangled = abi::__cxa_demangle(name + mangledNameStart + startOffset, 0, 0, &status);
++            name[mangledNameEnd] = endChar;
++            if (demangled) {
++                QString ret = QString::fromLatin1(name, mangledNameStart + startOffset) +
++                              QString::fromLatin1(demangled) +
++                              QString::fromLatin1(name + mangledNameEnd, len - mangledNameEnd);
++                free(demangled);
++                return ret;
++            }
++        }
++    }
++    return QString::fromLatin1(name);
++}
++
++QString kRealBacktrace(int levels)
++{
++    QString s;
++    void* trace[256];
++    int n = backtrace(trace, 256);
++    if (!n)
++	return s;
++    char** strings = backtrace_symbols (trace, n);
++
++    if ( levels != -1 )
++        n = qMin( n, levels );
++    s = QLatin1String("[\n");
++
++    for (int i = 0; i < n; ++i)
++        s += QString::number(i) + QLatin1String(": ") +
++             maybeDemangledName(strings[i]) + QLatin1Char('\n');
++    s += QLatin1String("]\n");
++    if (strings)
++        free (strings);
++    return s;
++}
++
++
+ int QObject::startTimer(int interval)
+ {
+     Q_D(QObject);
+ 
+     if (interval < 0) {
+-        qWarning("QObject::startTimer: QTimer cannot have a negative interval");
++        //qWarning("QObject::startTimer: QTimer cannot have a negative interval");
++        qWarning() << "QObject::startTimer: QTimer" << this << "cannot have a negative interval" << interval << "pid=" << getpid()
++	   	<< kRealBacktrace(-1);
+         return 0;
+     }
+ 
Index: aqua/qt4-mac/files/disable-exceptions.patch
===================================================================
--- aqua/qt4-mac/files/disable-exceptions.patch	(revision 0)
+++ aqua/qt4-mac/files/disable-exceptions.patch	(working copy)
@@ -0,0 +1,71 @@
+--- orig.configure	2014-12-09 00:30:18.000000000 +0100
++++ configure	2014-12-11 21:38:33.000000000 +0100
+@@ -7881,15 +7881,15 @@
+     QT_CONFIG="$QT_CONFIG concurrent"
+ fi
+ 
+-if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
+-    echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
+-    exit 1
+-fi
+-if [ "$CFG_XMLPATTERNS" = "auto" -a "$CFG_EXCEPTIONS" != "no" ]; then
++#if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
++#    echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
++#    exit 1
++#fi
++#if [ "$CFG_XMLPATTERNS" = "auto" -a "$CFG_EXCEPTIONS" != "no" ]; then
+     CFG_XMLPATTERNS="$canBuildQtXmlPatterns"
+-elif [ "$CFG_EXCEPTIONS" = "no" ]; then
+-    CFG_XMLPATTERNS="no"
+-fi
++#elif [ "$CFG_EXCEPTIONS" = "no" ]; then
++#    CFG_XMLPATTERNS="no"
++#fi
+ if [ "$CFG_XMLPATTERNS" = "yes" ]; then
+     QT_CONFIG="$QT_CONFIG xmlpatterns"
+ else
+--- src/xmlpatterns/utils/orig.qpatternistlocale_p.h	2014-04-10 20:37:12.000000000 +0200
++++ src/xmlpatterns/utils/qpatternistlocale_p.h	2014-12-11 23:58:30.000000000 +0100
+@@ -274,7 +274,8 @@
+ #endif
+ 
+ #ifdef QT_NO_EXCEPTIONS
+-#error "Patternist uses exceptions and cannot be built without."
++// #error "Patternist uses exceptions and cannot be built without."
++#warning "Patternist uses exceptions and will ignore the fact QtCore is built without"
+ #endif
+ 
+ QT_END_NAMESPACE
+--- src/xmlpatterns/orig.xmlpatterns.pro	2014-12-16 13:58:27.000000000 +0100
++++ src/xmlpatterns/xmlpatterns.pro	2014-12-16 13:59:46.000000000 +0100
+@@ -2,8 +2,13 @@
+ QPRO_PWD = $$PWD
+ QT = core \
+     network
++DEFINES -= QT_NO_EXCEPTIONS
+ DEFINES += QT_BUILD_XMLPATTERNS_LIB \
+-    QT_NO_USING_NAMESPACE
++    QT_NO_USING_NAMESPACE QT_EXCEPTIONS
++QMAKE_CXXFLAGS_EXCEPTIONS_OFF -= -fno-exceptions
++QMAKE_CFLAGS -= -fno-exceptions
++QMAKE_CXXFLAGS -= -fno-exceptions
++QMAKE_LFLAGS -= -fno-exceptions
+ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x61000000
+ unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore \
+     QtNetwork
+--- src/corelib/orig.corelib.pro	2014-12-16 13:46:18.000000000 +0100
++++ src/corelib/corelib.pro	2014-12-16 13:47:05.000000000 +0100
+@@ -1,7 +1,12 @@
+ TARGET	   = QtCore
+ QPRO_PWD   = $$PWD
+ QT         =
+-DEFINES   += QT_BUILD_CORE_LIB QT_NO_USING_NAMESPACE
++DEFINES   -= QT_NO_EXCEPTIONS
++DEFINES   += QT_BUILD_CORE_LIB QT_NO_USING_NAMESPACE QT_EXCEPTIONS
++QMAKE_CXXFLAGS_EXCEPTIONS_OFF -= -fno-exceptions
++QMAKE_CFLAGS -= -fno-exceptions
++QMAKE_CXXFLAGS -= -fno-exceptions
++QMAKE_LFLAGS -= -fno-exceptions
+ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x67000000
+ irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
+ 
Index: aqua/qt4-mac/files/prevent_addTitleRelated_crash.patch
===================================================================
--- aqua/qt4-mac/files/prevent_addTitleRelated_crash.patch	(revision 0)
+++ aqua/qt4-mac/files/prevent_addTitleRelated_crash.patch	(working copy)
@@ -0,0 +1,11 @@
+--- src/gui/kernel/orig.qwidget_mac.mm	2014-10-03 15:06:54.000000000 +0200
++++ src/gui/kernel/qwidget_mac.mm	2014-10-03 15:08:07.000000000 +0200
+@@ -4619,7 +4619,7 @@
+ 
+         setWSGeometry(false, oldRect);
+ 
+-        if (isResize && QApplicationPrivate::graphicsSystem())
++        if (isResize && q->parentWidget() && QApplicationPrivate::graphicsSystem())
+             invalidateBuffer_resizeHelper(oldp, olds);
+     }
+ 
Index: aqua/qt4-mac/files/qprocess-nozombies.patch
===================================================================
--- aqua/qt4-mac/files/qprocess-nozombies.patch	(revision 0)
+++ aqua/qt4-mac/files/qprocess-nozombies.patch	(working copy)
@@ -0,0 +1,23 @@
+--- src/corelib/io/orig.qprocess_unix.cpp	2014-04-10 20:37:11.000000000 +0200
++++ src/corelib/io/qprocess_unix.cpp	2014-12-11 17:03:26.000000000 +0100
+@@ -1296,17 +1296,18 @@
+     processManager()->remove(q);
+ }
+ 
++//https://codereview.qt-project.org/#/c/61294/
+ bool QProcessPrivate::waitForDeadChild()
+ {
+     Q_Q(QProcess);
+ 
+     // 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);
Index: aqua/qt4-mac/files/qt4-correct-systraymenu-iconhandling.patch
===================================================================
--- aqua/qt4-mac/files/qt4-correct-systraymenu-iconhandling.patch	(revision 0)
+++ aqua/qt4-mac/files/qt4-correct-systraymenu-iconhandling.patch	(working copy)
@@ -0,0 +1,21 @@
+--- src/gui/util/orig.qsystemtrayicon_mac.mm	2014-04-10 20:37:12.000000000 +0200
++++ src/gui/util/qsystemtrayicon_mac.mm	2014-09-15 19:48:07.000000000 +0200
+@@ -341,7 +341,7 @@
+ -(void)mousePressed:(NSEvent *)mouseEvent button:(Qt::MouseButton)mouseButton
+ {
+     down = YES;
+-    int clickCount = [mouseEvent clickCount];  
++    int clickCount = [mouseEvent clickCount];
+     [self setNeedsDisplay:YES];
+ 
+ #ifndef QT_MAC_USE_COCOA
+@@ -532,7 +532,8 @@
+             [item setState:action->isChecked() ? NSOnState : NSOffState];
+             [item setToolTip:(NSString*)QCFString::toCFStringRef(action->toolTip())];
+             const QIcon icon = action->icon();
+-            if(!icon.isNull()) {
++		  // RJVB 20140915: don't forget to check against isIconVisibleInMenu()!
++            if(!icon.isNull() && action->isIconVisibleInMenu()) {
+ #ifndef QT_MAC_USE_COCOA
+                 const short scale = GetMBarHeight();
+ #else
Index: aqua/qt4-mac/files/qt4-deactivate-menurole-heuristics.patch
===================================================================
--- aqua/qt4-mac/files/qt4-deactivate-menurole-heuristics.patch	(revision 0)
+++ aqua/qt4-mac/files/qt4-deactivate-menurole-heuristics.patch	(working copy)
@@ -0,0 +1,45 @@
+--- src/gui/widgets/orig.qmenu_mac.mm	2014-04-10 20:37:12.000000000 +0200
++++ src/gui/widgets/qmenu_mac.mm	2014-09-16 16:25:00.000000000 +0200
+@@ -638,7 +638,7 @@
+ 
+ static NSMenuItem *createNSMenuItem(const QString &title)
+ {
+-    NSMenuItem *item = [[NSMenuItem alloc] 
++    NSMenuItem *item = [[NSMenuItem alloc]
+                          initWithTitle:qt_mac_QStringToNSString(title)
+                          action:@selector(qtDispatcherToQAction:) keyEquivalent:@""];
+     [item setTarget:nil];
+@@ -852,32 +852,7 @@
+ #endif
+         break;
+     case QAction::TextHeuristicRole: {
+-        QString aboutString = QMenuBar::tr("About").toLower();
+-        if (t.startsWith(aboutString) || t.endsWith(aboutString)) {
+-            if (t.indexOf(QRegExp(QString::fromLatin1("qt$"), Qt::CaseInsensitive)) == -1) {
+-#ifndef QT_MAC_USE_COCOA
+-                ret = kHICommandAbout;
+-#else
+-                ret = [loader aboutMenuItem];
+-#endif
+-            } else {
+-#ifndef QT_MAC_USE_COCOA
+-                ret = kHICommandAboutQt;
+-#else
+-                ret = [loader aboutQtMenuItem];
+-#endif
+-            }
+-        } else if (t.startsWith(QMenuBar::tr("Config").toLower())
+-                   || t.startsWith(QMenuBar::tr("Preference").toLower())
+-                   || t.startsWith(QMenuBar::tr("Options").toLower())
+-                   || t.startsWith(QMenuBar::tr("Setting").toLower())
+-                   || t.startsWith(QMenuBar::tr("Setup").toLower())) {
+-#ifndef QT_MAC_USE_COCOA
+-            ret = kHICommandPreferences;
+-#else
+-            ret = [loader preferencesMenuItem];
+-#endif
+-        } else if (t.startsWith(QMenuBar::tr("Quit").toLower())
++	   if (t.startsWith(QMenuBar::tr("Quit").toLower())
+                    || t.startsWith(QMenuBar::tr("Exit").toLower())) {
+ #ifndef QT_MAC_USE_COCOA
+             ret = kHICommandQuit;
Index: aqua/qt4-mac/files/silence-qfilesystemwatcher.patch
===================================================================
--- aqua/qt4-mac/files/silence-qfilesystemwatcher.patch	(revision 0)
+++ aqua/qt4-mac/files/silence-qfilesystemwatcher.patch	(working copy)
@@ -0,0 +1,15 @@
+--- src/corelib/io/orig.qfilesystemwatcher.cpp	2014-04-10 20:37:11.000000000 +0200
++++ src/corelib/io/qfilesystemwatcher.cpp	2014-12-11 13:33:27.000000000 +0100
+@@ -544,9 +544,9 @@
+     if(engine)
+         p = engine->addPaths(p, &d->files, &d->directories);
+ 
+-    if (!p.isEmpty())
+-        qWarning("QFileSystemWatcher: failed to add paths: %s",
+-                 qPrintable(p.join(QLatin1String(", "))));
++//     if (!p.isEmpty())
++//         qWarning("QFileSystemWatcher: failed to add paths: %s",
++//                  qPrintable(p.join(QLatin1String(", "))));
+ }
+ 
+ /*!
