gimpに、mypaintで吐いたora(OpenRaster)ファイルを読ませようと思った時に事件は起きた!
なんと、oraを読んでくれない…エラーダイアログを出して終了です。
ターミナルから起動してみたら
Traceback (most recent call last): File "/usr/lib/gimp/2.0/python/gimpfu.py", line 851, in _run res = apply(func, params[1:]) File "/usr/lib/gimp/2.0/plug-ins/file-openraster.py", line 274, in load_ora if not name: UnboundLocalError: local variable 'name' referenced before assignment
なんともポカミスのようですね。確かにリリースノートを見るとora関連の改正が入っている…何かの手違いが起きたのでしょうか。
そんなわけで、/usr/lib/gimp/2.0/plug-ins/file-openraster.pyの、268行目ぐらいのfor item in get_layers(stack):の直前に
name=None
path=filename
を入れといたら読めるようになりました。
わかりやすいように、その上下の部分を含めて書くとこんな感じ。 parent_groups = [] が265行めぐらいです。
parent_groups = [] layer_no = 0 name = None # <- この行を追加 path = filename # <- この行も追加 for item in get_layers(stack): if item is NESTED_STACK_END: parent_groups.pop() continue
(追記 2016/11/10) 実はXubuntu 16.04にアップデートして書き換え忘れてたのでora読ませたらエラーが出てビックリ、自分で自分のブログ見て対応したという(^^;
自分でこの記事を読んでみたら、実にわかりにくい書き方で閉口しましたorz
Windowsではどうだかわかりませんが、多分インストールされたディレクトリの下にあるplug-insディレクトリにfile-openraster.pyがあれば、そのファイルではないでしょうか。
diff
修正前のオリジナルと修正後のdiffも一応念の為に置いておきます。 まぁそもそも、このテキトーな修正で良いかどうかは不明なのですが…とりあえずうちでは読めています(汗
268,269d267 < name=None < path=filename
問題箇所がC/C++で書かれてなくて面倒臭いことにならずに、よかった(^^;
追記:てかbugzillaよく見たら、すでにファイルされてて似たような解決策も出てましたw