rpms/krusader/devel krusader-rev6056.patch, NONE, 1.1 krusader-rev6059.patch, NONE, 1.1 krusader-rev6067.patch, NONE, 1.1 krusader-rev6072.patch, NONE, 1.1 krusader-rev6073.patch, NONE, 1.1 krusader.spec, 1.23, 1.24

Marcin Garski mgarski at fedoraproject.org
Sat Oct 18 13:03:39 UTC 2008


Author: mgarski

Update of /cvs/pkgs/rpms/krusader/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26483

Modified Files:
	krusader.spec 
Added Files:
	krusader-rev6056.patch krusader-rev6059.patch 
	krusader-rev6067.patch krusader-rev6072.patch 
	krusader-rev6073.patch 
Log Message:
- Incorporate minor bug fixes from Krusader's SVN


krusader-rev6056.patch:

--- NEW FILE krusader-rev6056.patch ---
# FIXED: Viewing directories are disabled to prevent KDE 4 crash
Index: krusader/KViewer/panelviewer.cpp
===================================================================
--- krusader/KViewer/panelviewer.cpp	(wersja 6055)
+++ krusader/KViewer/panelviewer.cpp	(wersja 6056)
@@ -68,6 +68,11 @@
 	if( mode == KrViewer::Generic ){
 		KMimeType::Ptr mt = KMimeType::findByUrl( curl );
 		cmimetype = mt ? mt->name() : QString();
+		// KDE 4 HACK : START
+		// KDE 4 crashes at viewing directories
+		if( cmimetype == "inode/directory" )
+			return 0;
+		// KDE 4 HACK : END
 		if( mimes->find( cmimetype ) == mimes->end() ) {
 			cpart = getPart( cmimetype );
 			mimes->insert( cmimetype, cpart );

krusader-rev6059.patch:

--- NEW FILE krusader-rev6059.patch ---
# FIXED: [ 2023599 ] start root mode Krusader works again (thanks to gladiac)
Index: krusader/krslots.cpp
===================================================================
--- krusader/krslots.cpp	(wersja 6058)
+++ krusader/krslots.cpp	(wersja 6059)
@@ -547,8 +547,8 @@
   
   KProcess proc;
   proc << KrServices::fullPathName( "kdesu" ) << KrServices::fullPathName( "krusader" )
-       << "--left=" + MAIN_VIEW->left->func->files()->vfs_getOrigin().url()
-       << "--right=" + MAIN_VIEW->right->func->files()->vfs_getOrigin().url();
+       + " --left=" + MAIN_VIEW->left->func->files()->vfs_getOrigin().url()
+       + " --right=" + MAIN_VIEW->right->func->files()->vfs_getOrigin().url();
 
   if (!proc.startDetached())
     KMessageBox::error(0,i18n("Error executing %1!", proc.program()[0]));

krusader-rev6067.patch:

--- NEW FILE krusader-rev6067.patch ---
# FIXED: [ 1988893 ] konsole is started in a wrong directory
#        please set "konsole --workdir %d" for the terminal (Konfigurator)
#        as Krusader won't fix your config automatically
Index: krusader/defaults.h
===================================================================
--- krusader/defaults.h	(wersja 6066)
+++ krusader/defaults.h	(wersja 6067)
@@ -126,7 +126,7 @@
 // Move To Trash //////
 #define _MoveToTrash   false 
 // Terminal ///////////
-#define _Terminal      "konsole --workdir ."
+#define _Terminal      "konsole --workdir %d"
 // Send CDs ///////////
 #define _SendCDs		true
 // Editor /////////////
Index: krusader/krslots.cpp
===================================================================
--- krusader/krslots.cpp	(wersja 6066)
+++ krusader/krslots.cpp	(wersja 6067)
@@ -478,7 +478,11 @@
   proc.setWorkingDirectory( dir );
   KConfigGroup group( krConfig, "General");
   QString term = group.readEntry("Terminal",_Terminal);
-  proc << KrServices::separateArgs( term );
+  QStringList sepdArgs = KrServices::separateArgs( term );
+  for( int i=0; i != sepdArgs.size(); i++ )
+    if( sepdArgs[ i ] == "%d" )
+      sepdArgs[ i ] = dir;
+  proc << sepdArgs;
   if( !args.isEmpty() )
   {
     proc << "-e" << args; // FIXME this depends on term!! But works in konsole, xterm and gnome-terminal

krusader-rev6072.patch:

--- NEW FILE krusader-rev6072.patch ---
# FIXED: [ 2023623 ] Krusader kept running after closing the main window
Index: krusader/krusader.cpp
===================================================================
--- krusader/krusader.cpp	(wersja 6071)
+++ krusader/krusader.cpp	(wersja 6072)
@@ -225,8 +225,6 @@
    // parse command line arguments
    KCmdLineArgs * args = KCmdLineArgs::parsedArgs();
 
-   KGlobal::ref(); // FIX: krusader exits at closing the viewer when minimized to tray
-
    // create the "krusader"
    App = this;
    slot = new KRslots(this);
@@ -385,6 +383,7 @@
    status->setWhatsThis( i18n( "Statusbar will show basic information "
                                           "about file below mouse pointer." ) );
 
+   KGlobal::ref(); // FIX: krusader exits at closing the viewer when minimized to tray
    // This enables Krusader to show a tray icon
    sysTray = new KSystemTrayIcon( this );
    // Krusader::privIcon() returns either "krusader_blue" or "krusader_red" if the user got root-privileges
@@ -499,7 +498,7 @@
    bool showTrayIcon = group.readEntry( "Minimize To Tray", _MinimizeToTray );
    bool singleInstanceMode = group.readEntry( "Single Instance Mode", _SingleInstanceMode );
    
-   if( showTrayIcon && !singleInstanceMode )
+   if( showTrayIcon && !singleInstanceMode && sysTray)
      sysTray->hide();
    show(); // needed to make sure krusader is removed from
    // the taskbar when minimizing (system tray issue)
@@ -508,7 +507,8 @@
 void Krusader::hideEvent ( QHideEvent *e ) {
    if( isExiting ) {
      KParts::MainWindow::hideEvent( e );
-     sysTray->hide();
+     if (sysTray)
+       sysTray->hide();
      return;
    }
    KConfigGroup group( config, "Look&Feel");
@@ -526,7 +526,8 @@
 #else
    if ( showTrayIcon  && !isModalTopWidget ) {
 #endif
-      sysTray->show();
+      if ( sysTray )
+         sysTray->show();
       hide(); // needed to make sure krusader is removed from
       // the taskbar when minimizing (system tray issue)
    } else KParts::MainWindow::hideEvent( e );
@@ -892,14 +893,16 @@
    bool minimizeToTray = group.readEntry( "Minimize To Tray", _MinimizeToTray );
    bool singleInstanceMode = group.readEntry( "Single Instance Mode", _SingleInstanceMode );
    
-   if( !isHidden() ) {
-     if( singleInstanceMode && minimizeToTray )
-       sysTray->show();
-     else
-       sysTray->hide();
-   } else {
-     if( minimizeToTray )
-       sysTray->show();
+   if ( sysTray ) {
+      if( !isHidden() ) {
+        if( singleInstanceMode && minimizeToTray )
+          sysTray->show();
+        else
+          sysTray->hide();
+      } else {
+        if( minimizeToTray )
+          sysTray->show();
+      }
    }
 }
 
@@ -925,6 +928,9 @@
 		dbus.unregisterObject( "/Instances/" + Krusader::AppName );
 		
 		KGlobal::deref(); // FIX: krusader exits at closing the viewer when minimized to tray
+                sysTray->hide();
+                delete sysTray;   // In KDE 4.1, KGlobal::ref() and deref() is done in KSystray constructor/destructor
+                sysTray=NULL;
 		KGlobal::deref(); // and close the application
 		return isExiting = true;              // this will also kill the pending jobs
 	}
@@ -1028,8 +1034,15 @@
 		dbus.unregisterObject( "/Instances/" + Krusader::AppName );
 
 		KGlobal::deref(); // FIX: krusader exits at closing the viewer when minimized to tray
+                sysTray->hide();
+                delete sysTray;   // In KDE 4.1, KGlobal::ref() and deref() is done in KSystray constructor/destructor
+                sysTray=NULL;
 		KGlobal::deref(); // and close the application
 		return false;  // don't let the main widget close. It stops the pendig copies!
+                //FIXME: The above intention does not work (at least in KDE 4.1), because the job
+                //progress window (class KWidgetJobTracker::Private::ProgressWidget)
+                //is closed above among other top level windows, and when closed
+                //stops the copy.
 	}
 	else
 		return false;

krusader-rev6073.patch:

--- NEW FILE krusader-rev6073.patch ---
# FIXED: [ 2041732 ] Krusader 2.0.0 beta1 missing title bar under Compiz
#        (thanks to Danny Baumann for the patch)
Index: krusader/krusader.cpp
===================================================================
--- krusader/krusader.cpp	(wersja 6072)
+++ krusader/krusader.cpp	(wersja 6073)
@@ -218,7 +218,8 @@
 #endif
 
 // construct the views, statusbar and menu bars and prepare Krusader to start
-Krusader::Krusader() : KParts::MainWindow(0,Qt::Window|Qt::WindowContextHelpButtonHint),
+Krusader::Krusader() : KParts::MainWindow(0,
+      Qt::Window | Qt::WindowTitleHint | Qt::WindowContextHelpButtonHint),
    status(NULL), sysTray( 0 ), isStarting( true ), isExiting( false ), directExit( false ) {
 
    setAttribute(Qt::WA_DeleteOnClose);


Index: krusader.spec
===================================================================
RCS file: /cvs/pkgs/rpms/krusader/devel/krusader.spec,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- krusader.spec	15 Oct 2008 23:34:12 -0000	1.23
+++ krusader.spec	18 Oct 2008 13:03:39 -0000	1.24
@@ -2,7 +2,7 @@
 
 Name:		krusader
 Version:	2.0.0
-Release:	0.1.%{beta}%{?dist}
+Release:	0.2.%{beta}%{?dist}
 Summary:	An advanced twin-panel (commander-style) file-manager for KDE
 
 Group:		Applications/File
@@ -11,6 +11,12 @@
 Source0:	http://downloads.sourceforge.net/%{name}/%{name}-%{version}%{?beta:-%{beta}}.tar.gz
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+Patch0:		krusader-rev6056.patch
+Patch1:		krusader-rev6059.patch
+Patch2:		krusader-rev6067.patch
+Patch3:		krusader-rev6072.patch
+Patch4:		krusader-rev6073.patch
+
 BuildRequires:	cmake
 BuildRequires:	kdelibs-devel >= 4.1.0 phonon-devel
 BuildRequires:	libjpeg-devel libpng-devel giflib-devel
@@ -32,6 +38,12 @@
 %prep
 %setup -q -n %{name}-%{version}%{?beta:-%{beta}}
 
+%patch0 -p0
+%patch1 -p0
+%patch2 -p0
+%patch3 -p0
+%patch4 -p0
+
 %build
 mkdir -p %{_target_platform}
 pushd %{_target_platform}
@@ -88,6 +100,9 @@
 %{_kde4_datadir}/kde4/services/*.protocol
 
 %changelog
+* Sat Oct 18 2008 Marcin Garski <mgarski[AT]post.pl> 2.0.0-0.2.beta1
+- Incorporate minor bug fixes from Krusader's SVN
+
 * Thu Oct 16 2008 Marcin Garski <mgarski[AT]post.pl> 2.0.0-0.1.beta1
 - Update to 2.0.0-beta1
 




More information about the scm-commits mailing list