jreznik pushed to kdelibs3 (epel7). "- flash fix (#410651, kde#132138, kde#146784) (..more)"

notifications at fedoraproject.org notifications at fedoraproject.org
Thu Apr 2 15:31:15 UTC 2015


>From b66b44017bf02d795cb251c7cb81fe817c2dcd85 Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter at fedoraproject.org>
Date: Thu, 13 Dec 2007 17:07:13 +0000
Subject: - flash fix (#410651, kde#132138, kde#146784) - simplify
 crystalsvg-icon-theme handling


diff --git a/kdelibs-3.5.8-new-flash.patch b/kdelibs-3.5.8-new-flash.patch
new file mode 100644
index 0000000..0011c4d
--- /dev/null
+++ b/kdelibs-3.5.8-new-flash.patch
@@ -0,0 +1,114 @@
+--- kdeui/qxembed.cpp.sav	2007-10-05 15:24:40.000000000 +0200
++++ kdeui/qxembed.cpp	2007-12-12 15:16:00.000000000 +0100
+@@ -1013,6 +1013,44 @@ void QXEmbed::embed(WId w)
+     }
+ }
+ 
++// When a window is reparented into QXEmbed (or created inside of it), this function
++// sets up the actual embedding.
++void QXEmbed::handleEmbed()
++{
++    // only XEMBED apps can survive crash,
++    // see http://lists.kde.org/?l=kfm-devel&m=106752026501968&w=2
++    if( !d->xplain )
++        XAddToSaveSet( qt_xdisplay(), window );
++    XResizeWindow(qt_xdisplay(), window, width(), height());
++    XMapRaised(qt_xdisplay(), window);
++    // L2024: see L2900.
++    sendSyntheticConfigureNotifyEvent();
++    // L2025: ??? [any idea about drag&drop?] 
++    extraData()->xDndProxy = window;
++    if ( parent() ) {
++        // L2030: embedded window might have new size requirements.
++        //        see L2500, L2520, L2550.
++        QEvent * layoutHint = new QEvent( QEvent::LayoutHint );
++        QApplication::postEvent( parent(), layoutHint );
++    }
++    windowChanged( window );
++    if (d->xplain) {
++        // L2040: Activation has changed. Grab state might change. See L2800.
++        checkGrab();
++        if ( hasFocus() )
++            // L2041: Send fake focus message to inform the client. See L1521.
++            sendFocusMessage(window, XFocusIn, NotifyNormal, NotifyPointer );
++    } else {
++        // L2050: Send XEMBED messages (see L0670, L1312, L1322, L1530)
++        sendXEmbedMessage( window, XEMBED_EMBEDDED_NOTIFY, 0, (long) winId() );
++        if (isActiveWindow())
++            sendXEmbedMessage( window, XEMBED_WINDOW_ACTIVATE);
++        else
++            sendXEmbedMessage( window, XEMBED_WINDOW_DEACTIVATE);
++        if ( hasFocus() )
++            sendXEmbedMessage( window, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT );
++    }
++}
+ 
+ // L1800: Returns the window identifier of the embedded window
+ WId QXEmbed::embeddedWinId() const
+@@ -1051,6 +1089,13 @@ bool QXEmbed::x11Event( XEvent* e)
+             emit embeddedWindowDestroyed();
+         }
+         break;
++    case CreateNotify:
++        // A window was created inside of QXEmbed, handle it as embedded
++        if( window == 0 ) { // only one window
++            window = e->xcreatewindow.window;
++            handleEmbed();
++        }
++        break;
+     case ReparentNotify:
+         if ( e->xreparent.window == d->focusProxy->winId() )
+             break; // ignore proxy
+@@ -1067,40 +1112,8 @@ bool QXEmbed::x11Event( XEvent* e)
+                 XRemoveFromSaveSet( qt_xdisplay(), window );
+         } else if ( e->xreparent.parent == winId()){
+             // L2020: We got a window. Complete the embedding process.
+-            window = e->xreparent.window;
+-            // only XEMBED apps can survive crash,
+-            // see http://lists.kde.org/?l=kfm-devel&m=106752026501968&w=2
+-            if( !d->xplain )
+-                XAddToSaveSet( qt_xdisplay(), window );
+-            XResizeWindow(qt_xdisplay(), window, width(), height());
+-            XMapRaised(qt_xdisplay(), window);
+-            // L2024: see L2900.
+-            sendSyntheticConfigureNotifyEvent();
+-            // L2025: ??? [any idea about drag&drop?] 
+-            extraData()->xDndProxy = window;
+-            if ( parent() ) {
+-                // L2030: embedded window might have new size requirements.
+-                //        see L2500, L2520, L2550.
+-                QEvent * layoutHint = new QEvent( QEvent::LayoutHint );
+-                QApplication::postEvent( parent(), layoutHint );
+-            }
+-            windowChanged( window );
+-            if (d->xplain) {
+-                // L2040: Activation has changed. Grab state might change. See L2800.
+-                checkGrab();
+-                if ( hasFocus() )
+-                    // L2041: Send fake focus message to inform the client. See L1521.
+-                    sendFocusMessage(window, XFocusIn, NotifyNormal, NotifyPointer );
+-            } else {
+-                // L2050: Send XEMBED messages (see L0670, L1312, L1322, L1530)
+-                sendXEmbedMessage( window, XEMBED_EMBEDDED_NOTIFY, 0, (long) winId() );
+-                if (isActiveWindow())
+-                    sendXEmbedMessage( window, XEMBED_WINDOW_ACTIVATE);
+-                else
+-                    sendXEmbedMessage( window, XEMBED_WINDOW_DEACTIVATE);
+-                if ( hasFocus() )
+-                    sendXEmbedMessage( window, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT );
+-            }
++            if( e->xreparent.window == window )
++                handleEmbed();
+         }
+         break;
+     case ButtonPress:
+--- kdeui/qxembed.h.sav	2005-09-29 21:32:29.000000000 +0200
++++ kdeui/qxembed.h	2001-01-01 01:01:00.000000000 +0100
+@@ -226,6 +226,7 @@ private:
+     QXEmbedData* d;
+     void checkGrab();
+     void sendSyntheticConfigureNotifyEvent();
++    void handleEmbed();
+ };
+ 
+ 
diff --git a/kdelibs3.spec b/kdelibs3.spec
index d9d7e51..81c99d2 100644
--- a/kdelibs3.spec
+++ b/kdelibs3.spec
@@ -21,13 +21,12 @@
 
 Summary: K Desktop Environment 3 - Libraries
 Version: 3.5.8
-Release: 18%{?dist}
+Release: 19%{?dist}
 
 %if 0%{?fedora} > 8
 Name: kdelibs3
 Obsoletes: kdelibs < 6:%{version}-%{release}
 Provides: kdelibs = 6:%{version}-%{release}
-%define include_crystalsvg 0
 %else
 Name: kdelibs
 Epoch: 6
@@ -36,12 +35,6 @@ Provides: kdelibs3 = %{version}-%{release}
 %define include_crystalsvg 1
 %endif
 
-%if 0%{?include_crystalsvg} == 0
-# KDE3 apps still need the crystalsvg-icon-theme
-# This is provided by kdeartwork-icons >= 3.96.0-2
-Requires: crystalsvg-icon-theme
-%endif
-
 License: LGPLv2
 Url: http://www.kde.org/
 Group: System Environment/Libraries
@@ -69,6 +62,7 @@ Patch41: kdelibs-3.5.6-utempter.patch
 Patch43: kdelibs-3.5.6-lang.patch
 Patch45: kdelibs-3.5.7-autostart.patch
 Patch46: kdelibs-3.5.8-kate-vhdl.patch
+Patch47: kdelibs-3.5.8-new-flash.patch
 
 # use /etc/kde in addition to /usr/share/config, borrowed from debian
 Patch100: kdelibs-3.5.5-kstandarddirs.patch
@@ -157,11 +151,14 @@ BuildRequires: automake libtool
 Obsoletes: kdelibs-apidocs < 6:%{version}-%{release}
 %endif
 
-# For KDE4 crystalsvg-icon-theme is provided by kdeartwork-icons
 %if 0%{?include_crystalsvg}
 Provides: crystalsvg-icon-theme = %{version}-%{release}
+%else
+# this Requires could be made unconditional -- Rex
+Requires: crystalsvg-icon-theme
 %endif
 
+
 %description
 Libraries for the K Desktop Environment 3:
 KDE Libraries included: kdecore (KDE core library), kdeui (user interface),
@@ -184,19 +181,6 @@ Requires: qt-devel
 Requires: openssl-devel
 %{?arts:Requires: arts-devel}
 %{?libkdnssd:Requires: libkdnssd-devel}
-## those below can/should be omitted from future(f8?) builds -- Rex
-%if 0
-Requires: bzip2-devel
-Requires: libacl-devel
-Requires: libart_lgpl-devel
-Requires: libidn-devel
-Requires: libxslt-devel
-Requires: libjpeg-devel
-Requires: libtiff-devel
-%{?_with_libutempter:Requires: libutempter-devel}
-Requires: pcre-devel
-Requires: zlib-devel
-%endif
 %description devel
 This package includes the header files you will need to compile
 applications for KDE 3.
@@ -237,6 +221,7 @@ format for easy browsing
 %patch43 -p1 -b .lang
 %patch45 -p1 -b .xdg-autostart
 %patch46 -p1 -b .kate-vhdl
+%patch47 -p0 -b .new-flash
 
 %patch100 -p1 -b .kstandarddirs
 %patch101 -p1 -b .libtool-shlibext
@@ -530,6 +515,10 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
 
 
 %changelog
+* Thu Dec 13 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 3.5.8-19
+- flash fix (#410651, kde#132138, kde#146784)
+- simplify crystalsvg-icon-theme handling
+
 * Tue Dec 11 2007 Kevin Kofler <Kevin at tigcc.ticalc.org> - 3.5.8-18
 - set include_crystalsvg to 0 on F9+ (it comes from kdeartwork now)
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/kdelibs3.git/commit/?h=epel7&id=b66b44017bf02d795cb251c7cb81fe817c2dcd85


More information about the scm-commits mailing list