summaryrefslogtreecommitdiffstats
path: root/redhat/tdebase/kdebase-3.5.12-halmountoptions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/tdebase/kdebase-3.5.12-halmountoptions.patch')
-rw-r--r--redhat/tdebase/kdebase-3.5.12-halmountoptions.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/redhat/tdebase/kdebase-3.5.12-halmountoptions.patch b/redhat/tdebase/kdebase-3.5.12-halmountoptions.patch
new file mode 100644
index 000000000..4a604f9a3
--- /dev/null
+++ b/redhat/tdebase/kdebase-3.5.12-halmountoptions.patch
@@ -0,0 +1,78 @@
+*** kdebase/kioslave/media/mediamanager/halbackend.cpp.orig 2010-09-30 00:24:28.000000000 +0200
+--- kdebase/kioslave/media/mediamanager/halbackend.cpp 2011-07-20 16:39:40.933056051 +0200
+***************
+*** 873,878 ****
+--- 873,905 ----
+ s_HALBackend->DeviceCondition(udi, condition_name);
+ }
+
++ TQStringList HALBackend::getHALmountoptions(TQString udi)
++ {
++ const char* _ppt_string;
++ LibHalVolume* volume;
++ LibHalDrive* drive;
++
++ TQString _ppt_QString;
++
++ volume = libhal_volume_from_udi( m_halContext, udi.latin1() );
++ if( volume )
++ drive = libhal_drive_from_udi( m_halContext, libhal_volume_get_storage_device_udi( volume ) );
++ else
++ drive = libhal_drive_from_udi( m_halContext, udi.latin1() );
++
++ if( !drive )
++ return TQString::null;
++
++ if( volume )
++ _ppt_string = libhal_volume_policy_get_mount_options ( drive, volume, NULL );
++ else
++ _ppt_string = libhal_drive_policy_get_mount_options ( drive, NULL );
++
++ _ppt_QString = TQString(_ppt_string ? _ppt_string : "");
++
++ return TQStringList::split(",",_ppt_QString);
++ }
++
+ TQStringList HALBackend::mountoptions(const TQString &name)
+ {
+ const Medium* medium = m_mediaList.findById(name);
+***************
+*** 1472,1481 ****
+--- 1499,1524 ----
+ soptions << TQString("data=ordered");
+ }
+
++ TQStringList hal_mount_options = getHALmountoptions(medium->id());
++ for (TQValueListIterator<TQString> it=hal_mount_options.begin();it!=hal_mount_options.end();it++)
++ {
++ soptions << *it;
++ kdDebug()<<"HALOption: "<<*it<<endl;
++ if ((*it).startsWith("iocharset="))
++ {
++ soptions.remove("utf8");
++ kdDebug()<<"\"iocharset=\" found. Removing \"utf8\" from options."<<endl;
++ }
++ }
++
++
+ const char **options = new const char*[soptions.size() + 1];
+ uint noptions = 0;
+ for (TQStringList::ConstIterator it = soptions.begin(); it != soptions.end(); ++it, ++noptions)
++ {
+ options[noptions] = (*it).latin1();
++ kdDebug()<<"Option: "<<*it<<endl;
++ }
+ options[noptions] = NULL;
+
+ TQString qerror = i18n("Cannot mount encrypted drives!");
+diff -r -u kdebase-3.5.5a.dfsg.1.orig/kioslave/media/mediamanager/halbackend.h kdebase-3.5.5a.dfsg.1/kioslave/media/mediamanager/halbackend.h
+--- kdebase-3.5.5a.dfsg.1.orig/kioslave/media/mediamanager/halbackend.h 2007-01-25 12:34:07.133446000 +0300
++++ kdebase-3.5.5a.dfsg.1/kioslave/media/mediamanager/halbackend.h 2007-01-25 16:33:54.413638693 +0300
+@@ -192,6 +192,7 @@
+ const char* message
+ );
+
++ TQStringList getHALmountoptions(QString udi);
+ /* HAL and DBus structures */
+ private:
+ /**