2012-04-25 11 views
1

私のOSはUbuntu 11.10です。私はいつでも端末から崇高なテキスト2を起動しました。私はそれを操作しました、このGDK警告は端末に表示されます、それは非常に迷惑です。それを修正するには?Gdk-WARNING **:/build/....../gdkdrawable-x11.c:952 drawableはpixmapやウィンドウではありません

$ subl . & 
[1] 4294 
$ 
(subl:4294): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.6/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window 
(subl:4294): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.6/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window 
(subl:4294): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.6/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window 
+0

あなたは何の質問もしませんでした。 – pzanoni

+0

私は質問を追加しました。 – khakistone

答えて

3

これを修正するには、アプリケーションのソースコードを見て修正し、再コンパイルする必要があります。 Gdkは警告を出していますが、アプリケーションがライブラリを誤って使用している可能性があります。

残念ながら、それは別の解決策は、それがstdoutおよび/またはだリダイレクトアプリを起動することです...一部の開発者は、それらを固定し気にしないのが残念...

のGtk +アプリケーションにこれらのエラーを見て少し一般的ですstderr他の場所:subl . > /dev/null 2>&1 &

+0

いいです、それは動作します! – khakistone

2

古い質問私は知っていますが、他の誰かがこのバグに刺された場合。これは、プログラムがgtkのinput methods apiを使用しているためです。これはおおまかに、中国語と日本語の文字を入力ウィジェットに入力できるようにするためです。 APIは使用するのが簡単ではなく、そこに多くの落とし穴があります。 http://lists.maemo.org/pipermail//maemo-developers/2006-January/002337.html

この場合、プログラムは実現されたgdkウィンドウでgtk_im_context_set_client_windowを呼び出すことはほとんどありません。 APIを正しく使用する必要がありますが、ドキュメンテーションではそのことについてはあまり明確ではありません。あなたは実際にIBusデーモンを実行している場合は、のみ上記の警告が表示されます。ほとんどの人は、アジアの文字を入力する必要がないため、警告が表示されないため、使用することはありません。

1

非常に古い質問に対する別の答えですが、wxpython 2.8からwxpython 3.0にアップグレードした後、同じ問題が発生しました。
gtk.gtk.Drawable()は、ウィンドウのIDを扱う方法や、ウィンドウIDの要求をwxpython 3.0が処理する方法を少し変更した可能性があります。
ウィンドウID(Linuxの場合)GetHandle()が正常に機能していましたが、代わりに上記の質問にエラーが表示されます。これでGetId()を使用する必要があります。 gtkマニュアルから引用し

Attributes 
"handle" Read The handle of the MS Windows window associated with the drawable. Not supported on X11. 
"xid" Read The id of the X window available with the drawable. Not supported on MS Windows 

私はいくつかの他の方法でgtkを使用している場合、これはwxPythonの問題ではなく、同じルールが適用されることに感謝しています。

+0

あなたは私の一日を救った!私はWindowsから私のアプリケーションを移植し、突然私が以前に見たことがないエラーが飛び出します。私はLinuxでGetHandle()の使用を破棄して以来、すべて正常に動作します。 – Dalen

関連する問題