问题描述
|
我有一个Perl Tk应用程序。
如果我移动主窗口,使其不恰好到达屏幕的最上方,那么下次执行以下代码时,脚本将失败:
$canvas_fimage_real=$canvas_fimage->Subwidget(\'canvas\');
$canvas_fimage_real=$canvas_fimage unless $canvas_fimage_real;
my $canvas_id=$canvas_fimage_real->id;
my $canvas_fimage_photo=$main_window::main_window->Photo(-format=>\'Window\',-data=>oct $canvas_id );
它失败并显示以下错误消息:
X Error of Failed request: BadMatch (invalid parameter attributes)
Major opcode of Failed request: 73 (X_Getimage)
Serial number of Failed request: 2796
Current serial number in output stream: 2796
该脚本在“照片”命令处崩溃。
我怎样才能解决这个问题?
解决方法
这是整个屏幕上的窗口吗?快照功能仅适用于屏幕上可见的内容(低级X11条件;不可协商)。因此,您应该提交错误报告,因为快照代码不应询问其无法获得的东西。
当然,如果窗口完全显示在屏幕上,并且无论如何您都会收到该错误消息,那就是一个严重的问题。在这种情况下也要提交错误报告!