Vine Linux バグトラッキングシステム - Vine Linux | |||||
課題の詳細を表示 | |||||
ID | プロジェクト | カテゴリ | 公開 | 登録日 | 最終更新 |
0000561 | Vine Linux | 1 バグ | 公開 | 2007-11-17 15:49 | 2007-12-03 21:53 |
報告者 | anonymous | ||||
担当者 | packager | ||||
優先度 | 中 | 再現性 | 不明 | ||
状態 | 完了 | 解決状況 | 不明 | ||
バージョン | 4.1 | ||||
修正予定バージョン | 修正済バージョン | ||||
arch | |||||
パッケージ | kdelibs | ||||
概要 | 0000561: Kofficeで保存したファイルが壊れている | ||||
説明 | このバグは、Vineのような内部コード(UTF-8)とlocale(EUC)が異っている 環境で発生します。 状況: 例えば、kwordでオブジェクトの埋め込みとして描画コンポーネントや 表計算コンポーネントを選び新規オブジェクトを作成する。 この文章をデフォルトのOpen Document形式で保存する。 再度この保存ファイルをkwordで読み込むと、kofficeのドキュメントでない と言われ開く事が出来ない。実際このファイルは壊れている。 保存失敗のエラーも出ないのでこれはかなり衝撃的である。 理由: kdelibsのkio::kzipでUTF-8以外のlocaleのファイル名を扱う部分に バグがあるため。この現象はkofficeに限らず、KDEでzip圧縮を行なう時、 ファイル名に日本語を含むと必ず発生し、生成された圧縮ファイルは 壊れている。 ファイル名に日本語を使わなければ回避出来る訳だが、上記の例の様に Open Document fileの実体はzip圧縮ファイルであり、kofficeは新規埋め込み オブジェクトに日本語名を自動的に付け、これを変更することが出来ないので kofficeでは対処が難しい。 解決策 kdelibsのkio/kio/kzip.cppは、異なるlocaleに対する処理をほぼ正しく行なって いるのだが、残念な事に数ヶ所、encodeしたstring(QCString)の長さと 元のstring(QString)の長さを取り違えて使っている(よくやるミスですね)。 そこを修正すると良い。 以下に添付するpatchをkio/kio/kizp.cppにあてると解決する。このpatchの影響範囲は きわめて限定的なので深刻な事が起きる可能性はほどんとないので、出来れば対応して 頂ける事を望みます。 | ||||
再現方法 | |||||
追加情報 | |||||
タグ | 設定されていません。 | ||||
関連 | |||||
添付ファイル | kzip.cpp.diff (3,125) 2007-11-17 15:49 http://mantis.vinelinux.org/file_download.php?file_id=142&type=bug | ||||
課題の履歴 | |||||
変更日 | ユーザー名 | 項目 | 変更内容 | ||
2007-11-17 15:49 | anonymous | 添付ファイル追加: kzip.cpp.diff | |||
2007-11-17 15:49 | anonymous | 新規課題 | |||
2007-11-26 17:42 | anonymous | コメント追加: 0002703 | |||
2007-11-26 18:36 | kazutaka | 担当者 | => packager | ||
2007-11-26 18:36 | kazutaka | 状態 | 新規 => テスト待ち | ||
2007-11-26 18:36 | kazutaka | コメント追加: 0002704 | |||
2007-12-01 01:33 | anonymous | コメント追加: 0002705 | |||
2007-12-03 21:53 | kazutaka | 状態 | テスト待ち => 完了 | ||
2007-12-03 21:53 | kazutaka | コメント追加: 0002706 |
コメント | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|