rev 8819 - in trunk/packages/kdelibs/debian: . patches
Fathi Boudra
fabo at alioth.debian.org
Tue Jan 8 10:19:03 UTC 2008
Author: fabo
Date: 2008-01-08 10:19:02 +0000 (Tue, 08 Jan 2008)
New Revision: 8819
Added:
trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r757346.diff
Removed:
trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r754402.diff
Modified:
trunk/packages/kdelibs/debian/changelog
Log:
* Update flash plugin patch:
- Fix embedding started from outside by reparenting inside to QXEmbed.
Modified: trunk/packages/kdelibs/debian/changelog
===================================================================
--- trunk/packages/kdelibs/debian/changelog 2008-01-08 00:36:18 UTC (rev 8818)
+++ trunk/packages/kdelibs/debian/changelog 2008-01-08 10:19:02 UTC (rev 8819)
@@ -1,11 +1,18 @@
-kdelibs (4:3.5.8.dfsg.1-6) UNRELEASED; urgency=low
+kdelibs (4:3.5.8.dfsg.1-6) unstable; urgency=low
+ +++ Changes by Armin Berres:
+
* Add patch to disable debug information by default. They can be enabled
with kdebugdialog. (Closes: #458807, #455815)
* Set shlibs version to 4:3.5.8.dfsg.1-5. (Closes: #459005)
- -- Armin Berres <trigger+debian at space-based.de> Fri, 04 Jan 2008 13:06:14 +0100
+ +++ Changes by Fathi Boudra:
+ * Update flash plugin patch:
+ - Fix embedding started from outside by reparenting inside to QXEmbed.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org> Tue, 08 Jan 2008 10:39:59 +0100
+
kdelibs (4:3.5.8.dfsg.1-5) unstable; urgency=low
+++ Changes by Sune Vuorela:
Deleted: trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r754402.diff
Added: trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r757346.diff
===================================================================
--- trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r757346.diff (rev 0)
+++ trunk/packages/kdelibs/debian/patches/01_qxembed-create-fix_branch_r757346.diff 2008-01-08 10:19:02 UTC (rev 8819)
@@ -0,0 +1,118 @@
+#DPATCHLEVEL=0
+--- kdeui/qxembed.cpp (.../tags/KDE/3.5.8/kdelibs) (revision 757346)
++++ kdeui/qxembed.cpp (.../branches/KDE/3.5/kdelibs) (revision 757346)
+@@ -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
+@@ -1066,41 +1111,11 @@
+ if( !d->xplain )
+ XRemoveFromSaveSet( qt_xdisplay(), window );
+ } else if ( e->xreparent.parent == winId()){
++ if( window == 0 ) // something started embedding from the outside
++ window = e->xcreatewindow.window;
+ // 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 757346)
++++ kdeui/qxembed.h (.../branches/KDE/3.5/kdelibs) (revision 757346)
+@@ -226,6 +226,7 @@
+ QXEmbedData* d;
+ void checkGrab();
+ void sendSyntheticConfigureNotifyEvent();
++ void handleEmbed();
+ };
+
+
More information about the pkg-kde-commits
mailing list