| Summary: | protocol process crashed when opening a share containing folder names on a native language (russian) | ||
|---|---|---|---|
| Product: | [Unmaintained] kio | Reporter: | Artem Bodrin <gemmed> |
| Component: | smb | Assignee: | Unassigned bugs <unassigned-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | andresbajotierra, yurchor |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
This bug was fixed in trunk. See commit 844753 by gamaral. But branch stands still broken. And now branch is KDE4.2 already. Also, a lot of encoding bugs on SMB were fixed on KDE4.2 I'm marking this as FIXED. Thanks |
Version: (using KDE 4.1.2) OS: Linux Installed from: Compiled From Sources kio_smb process crashes when opening a share, containing folders named with native language (russian in my case), or if a share itself is in russian. System locale is ru_RU.UTF-8, but I guess it's doesn't matter. An error is rised in internal data model for file/folder list when updating a cache. There is a cure: source file kio_smb_internal.cpp; member void SMBUrl::updateCache(): you have to replace all four converts toLatin1() for toLocal8Bit(). So, the source if (KUrl::hasUser()) { surl += QUrl::fromPercentEncoding(KUrl::user().toLatin1()); if (KUrl::hasPass()) { surl += ':' + QUrl::fromPercentEncoding(KUrl::pass().toLatin1()); } surl += '@'; } surl += QUrl::fromPercentEncoding(KUrl::host().toUpper().toLatin1()); surl += QUrl::fromPercentEncoding(KUrl::path().toLatin1()); have to become: if (KUrl::hasUser()) { surl += QUrl::fromPercentEncoding(KUrl::user().toLocal8Bit()); if (KUrl::hasPass()) { surl += ':' + QUrl::fromPercentEncoding(KUrl::pass().toLocal8Bit()); } surl += '@'; } surl += QUrl::fromPercentEncoding(KUrl::host().toUpper().toLocal8Bit()); surl += QUrl::fromPercentEncoding(KUrl::path().toLocal8Bit()); that's it... I've done this for myself since release of kde 4.0.0 and tired a bit 8-))...