rev 8638 - in trunk/packages/kdelibs/debian: . patches

Fathi Boudra fabo at alioth.debian.org
Sat Dec 29 18:53:05 UTC 2007


Author: fabo
Date: 2007-12-29 18:53:05 +0000 (Sat, 29 Dec 2007)
New Revision: 8638

Added:
   trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r754402.diff
Modified:
   trunk/packages/kdelibs/debian/changelog
Log:
* Add patch to support latest flash plugin. It consists of 2 parts patches.
  This the first part. Second part is in kdebase.


Modified: trunk/packages/kdelibs/debian/changelog
===================================================================
--- trunk/packages/kdelibs/debian/changelog	2007-12-29 16:59:30 UTC (rev 8637)
+++ trunk/packages/kdelibs/debian/changelog	2007-12-29 18:53:05 UTC (rev 8638)
@@ -1,13 +1,20 @@
-kdelibs (4:3.5.8.dfsg.1-5) unstable; urgency=low
+kdelibs (4:3.5.8.dfsg.1-5) UNRELEASED; urgency=low
 
+  +++ Changes by Sune Vuorela:
+
   * Remove GFDL license from copyright file and point to
     /usr/share/common-licenses
   * Add lintian overrides
   * Replace Source-Version with binary:Version
   * Bump standards
 
- -- Sune Vuorela <debian at pusling.com>  Mon, 24 Dec 2007 13:46:48 +0100
+  +++ Changes by Fathi Boudra:
 
+  * Add patch to support latest flash plugin. It consists of 2 parts patches.
+    This the first part. Second part is in kdebase.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Sat, 29 Dec 2007 19:45:33 +0100
+
 kdelibs (4:3.5.8.dfsg.1-4) unstable; urgency=low
 
   * Add a patch to allow to dlopen .so files and not only .la files.

Added: trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r754402.diff
===================================================================
--- trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r754402.diff	                        (rev 0)
+++ trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r754402.diff	2007-12-29 18:53:05 UTC (rev 8638)
@@ -0,0 +1,115 @@
+#DPATCHLEVEL=0
+--- kdeui/qxembed.cpp	(.../tags/KDE/3.5.8/kdelibs)	(revision 754402)
++++ kdeui/qxembed.cpp	(.../branches/KDE/3.5/kdelibs)	(revision 754402)
+@@ -1013,6 +1013,44 @@
+     }
+ }
+ 
++// 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 @@
+             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 @@
+                 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 (.../tags/KDE/3.5.8/kdelibs)    (revision 754402)
++++ kdeui/qxembed.h (.../branches/KDE/3.5/kdelibs)  (revision 754402)
+@@ -226,6 +226,7 @@
+     QXEmbedData* d;
+     void checkGrab();
+     void sendSyntheticConfigureNotifyEvent();
++    void handleEmbed();
+ };
+ 
+ 
\ No newline at end of file




More information about the pkg-kde-commits mailing list