rpms/kdebase/FC-5 kdebase-3.5.4-kde#134094.patch, NONE, 1.1 kdebase.spec, 1.189, 1.190

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Sep 18 13:55:45 UTC 2006


Author: than

Update of /cvs/dist/rpms/kdebase/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv6040

Modified Files:
	kdebase.spec 
Added Files:
	kdebase-3.5.4-kde#134094.patch 
Log Message:
fix #134094, don't try to QApplication::exit() from a QApplication subclass constructor



kdebase-3.5.4-kde#134094.patch:
 kaccess.cpp |   28 +++++-----------------------
 kaccess.h   |    2 +-
 main.cpp    |   27 +++++++++++++++++++++++++++
 3 files changed, 33 insertions(+), 24 deletions(-)

--- NEW FILE kdebase-3.5.4-kde#134094.patch ---
Index: kcontrol/access/kaccess.h
===================================================================
--- kcontrol/access/kaccess.h	(Revision 584794)
+++ kcontrol/access/kaccess.h	(Revision 584795)
@@ -31,6 +31,7 @@
 
   int newInstance();
 
+  void setXkbOpcode(int opcode);
 
 protected:
 
@@ -51,7 +52,6 @@
   void noClicked();
   void dialogClosed();
 
-
 private:
    void  createDialogContents();
    void  initMasks();
Index: kcontrol/access/main.cpp
===================================================================
--- kcontrol/access/main.cpp	(Revision 584794)
+++ kcontrol/access/main.cpp	(Revision 584795)
@@ -2,6 +2,7 @@
 #include "kaccess.h"
 #include <kaboutdata.h>
 #include <kcmdlineargs.h>
+#include <kdebug.h>
 
 extern "C" KDE_EXPORT int kdemain(int argc, char * argv[] )
 {
@@ -16,7 +17,33 @@
   if (!KAccessApp::start())
     return 0;
 
+  // verify the Xlib has matching XKB extension
+  int major = XkbMajorVersion;
+  int minor = XkbMinorVersion;
+  if (!XkbLibraryVersion(&major, &minor))
+    {
+      kdError() << "Xlib XKB extension does not match" << endl;
+      return 1;
+    }
+  kdDebug() << "Xlib XKB extension major=" << major << " minor=" << minor << endl;
+
+  // we need an application object for qt_xdisplay()
   KAccessApp app;
+
+  // verify the X server has matching XKB extension
+  // if yes, the XKB extension is initialized
+  int opcode_rtrn;
+  int error_rtrn;
+  int xkb_opcode;
+  if (!XkbQueryExtension(qt_xdisplay(), &opcode_rtrn, &xkb_opcode, &error_rtrn,
+			 &major, &minor))
+    {
+      kdError() << "X server has not matching XKB extension" << endl;
+      return 1;
+    }
+  kdDebug() << "X server XKB extension major=" << major << " minor=" << minor << endl;
+
+  app.setXkbOpcode(xkb_opcode);
   app.disableSessionManagement();
   return app.exec();
 }
Index: kcontrol/access/kaccess.cpp
===================================================================
--- kcontrol/access/kaccess.cpp	(Revision 584794)
+++ kcontrol/access/kaccess.cpp	(Revision 584795)
@@ -1,6 +1,6 @@
 #include <unistd.h>
+#include <stdlib.h>
 
-
 #include <qtimer.h>
 #include <qpainter.h>
 #include <qvbox.h>
@@ -95,28 +95,6 @@
   : KUniqueApplication(allowStyles, GUIenabled), _artsBellBlocked(false),
                                                  overlay(0), wm(0, KWinModule::INFO_DESKTOP)
 {
-  // verify the Xlib has matching XKB extension
-  int major = XkbMajorVersion;
-  int minor = XkbMinorVersion;
-  if (!XkbLibraryVersion(&major, &minor))
-    {
-      kdError() << "Xlib XKB extension does not match" << endl;
-      exit(-1);
-    }
-  kdDebug() << "Xlib XKB extension major=" << major << " minor=" << minor << endl;
-
-  // verify the X server has matching XKB extension
-  // if yes, the XKB extension is initialized
-  int opcode_rtrn;
-  int error_rtrn;
-  if (!XkbQueryExtension(qt_xdisplay(), &opcode_rtrn, &xkb_opcode, &error_rtrn,
-			 &major, &minor))
-    {
-      kdError() << "X server has not matching XKB extension" << endl;
-      exit(-1);
-    }
-  kdDebug() << "X server XKB extension major=" << major << " minor=" << minor << endl;
-
   _activeWindow = wm.activeWindow();
   connect(&wm, SIGNAL(activeWindowChanged(WId)), this, SLOT(activeWindowChanged(WId)));
 
@@ -912,3 +890,7 @@
   _artsBellBlocked = false;
 }
 
+void KAccessApp::setXkbOpcode(int opcode)
+{
+  xkb_opcode = opcode;
+}


Index: kdebase.spec
===================================================================
RCS file: /cvs/dist/rpms/kdebase/FC-5/kdebase.spec,v
retrieving revision 1.189
retrieving revision 1.190
diff -u -r1.189 -r1.190
--- kdebase.spec	18 Sep 2006 13:48:52 -0000	1.189
+++ kdebase.spec	18 Sep 2006 13:55:43 -0000	1.190
@@ -68,6 +68,7 @@
 Patch108: kdebase-3.5.4-leaks.patch
 Patch109: kdebase-3.5.4-kde#134120.patch
 Patch110: kdebase-3.5.4-kde#134099.patch
+Patch111: kdebase-3.5.4-kde#134094.patch
 
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
@@ -190,6 +191,7 @@
 %patch108 -p0 -b .leaks
 %patch109 -p0 -b .kde#134120
 %patch110 -p0 -b .kde#134099
+%patch111 -p0 -b .kde#134094
 
 %if %{rhel}
    rm -rf kdeprint/kdeprintfax
@@ -567,6 +569,7 @@
    fix #133665, crash in kiosk mode
    fix #134120, don't delete the KCMultiDialog down the path from its finished() signal
    fix #134099, always initialize Client::opacity_ 
+   fix #134094, don't try to QApplication::exit() from a QApplication subclass constructor
 - add missing icons for package_games_kids
 - add more icon contexts (Tango icontheme)
 




More information about the fedora-cvs-commits mailing list