rpms/kdebase/devel kdebase-4.0.x-nsplugin.patch, NONE, 1.1 kdebase.spec, 1.296, 1.297

Than Ngo (than) fedora-extras-commits at redhat.com
Mon Feb 18 15:13:05 UTC 2008


Author: than

Update of /cvs/extras/rpms/kdebase/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18747

Modified Files:
	kdebase.spec 
Added Files:
	kdebase-4.0.x-nsplugin.patch 
Log Message:
fix nsplugins hangs during login


kdebase-4.0.x-nsplugin.patch:

--- NEW FILE kdebase-4.0.x-nsplugin.patch ---
Index: apps/nsplugins/pluginscan.cpp
===================================================================
--- apps/nsplugins/pluginscan.cpp	(Revision 776603)
+++ apps/nsplugins/pluginscan.cpp	(Revision 776604)
@@ -284,9 +284,8 @@
     KLibLoader::self()->unloadLibrary( QFile::encodeName(absFile) );
 
     // create a QDataStream for our IPC pipe (to send plugin info back to the parent)
-    FILE *write_pipe = fdopen(write_fd, "w");
     QFile stream_file;
-    stream_file.open(write_pipe, QIODevice::WriteOnly);
+    stream_file.open(write_fd, QIODevice::WriteOnly);
     QDataStream stream(&stream_file);
 
     // return the gathered info to the parent
@@ -361,20 +360,18 @@
            QBuffer m_buffer;
            m_buffer.open(QIODevice::WriteOnly);
 
-           FILE *read_pipe = fdopen(pipes[0], "r");
            QFile q_read_pipe;
-           q_read_pipe.open(read_pipe, QIODevice::ReadOnly);
+           q_read_pipe.open(pipes[0], QIODevice::ReadOnly);
 
            char *data = (char *)malloc(4096);
            if (!data) continue;
 
            // when the child closes, we'll get an EOF (size == 0)
-           while (int size = q_read_pipe.read(data, 4096)) {
-               if (size > 0)
-                   m_buffer.write(data, size);
-           }
+           while (int size = q_read_pipe.read(data, 4096) > 0)
+               m_buffer.write(data, size);
            free(data);
 
+           q_read_pipe.close();
            close(pipes[0]); // we no longer need the pipe's reading end
 
            // close the buffer and open for reading (from the start)
Index: apps/nsplugins/nspluginloader.cpp
===================================================================
--- apps/nsplugins/nspluginloader.cpp	(Revision 776603)
+++ apps/nsplugins/nspluginloader.cpp	(Revision 776604)
@@ -260,7 +260,9 @@
               QString stripped = (*suffix).trimmed();
 
               int p=0;
-              for ( ; p<stripped.length() && stripped[p]=='.'; p++ );
+              for ( ; p<stripped.length() && stripped[p]=='.'; p++ ) {
+                  ;
+              }
               stripped = stripped.right( stripped.length()-p );
 
               // add filetype to list


Index: kdebase.spec
===================================================================
RCS file: /cvs/extras/rpms/kdebase/devel/kdebase.spec,v
retrieving revision 1.296
retrieving revision 1.297
diff -u -r1.296 -r1.297
--- kdebase.spec	4 Feb 2008 12:59:38 -0000	1.296
+++ kdebase.spec	18 Feb 2008 15:12:29 -0000	1.297
@@ -1,7 +1,7 @@
 
 Summary: K Desktop Environment 4 - Core Files
 Version: 4.0.1
-Release: 3%{?dist}
+Release: 4%{?dist}
 
 %if 0%{?fedora} > 8
 Name: kdebase
@@ -23,6 +23,8 @@
 Group: User Interface/Desktops
 URL: http://www.kde.org/
 Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdebase-%{version}.tar.bz2
+# upstream pathes
+Patch100: kdebase-4.0.x-nsplugin.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: kde-filesystem >= 4
@@ -128,6 +130,7 @@
 
 %prep
 %setup -q -n kdebase-%{version}
+%patch100 -p0 -b .nsplugin
 
 %build
 
@@ -306,6 +309,9 @@
 
 
 %changelog
+* Mon Feb 18 2008 Than Ngo <than at redhat.com> 4.0.1-4
+- fix nsplugins hangs during login
+
 * Mon Feb 04 2008 Than Ngo <than at redhat.com> 4.0.1-3
 - respin
 




More information about the fedora-extras-commits mailing list