diff options
Diffstat (limited to 'redhat/tdebase/kdebase-3.5.12-halmountoptions.patch')
-rw-r--r-- | redhat/tdebase/kdebase-3.5.12-halmountoptions.patch | 78 |
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: + /** |