Cairo/GTK示例代码在窗口太大或最大化时崩溃

Cairo/GTK示例代码在窗口太大或最大化时崩溃,gtk,mingw,cairo,gtk2,pixmap,Gtk,Mingw,Cairo,Gtk2,Pixmap,我已经复制并编译了标题为“完整源代码”的部分中提供的源代码 我将这段代码改编成一个我正在进行的项目,结果发现当我把窗口设置得太大时,应用程序会崩溃。回到原始示例代码,当窗口太大(>1000x1000左右)时,它也会崩溃 我在示例中缩小了范围,这一行似乎负责: pixmap=gdk_pixmap_new(窗口->窗口,500500,-1) 其中,pixmap的类型为GdkPixmap*。调整窗口大小将使用与窗口大小相同的新pixmap覆盖pixmap 我在WindowsVista的Eclipse

我已经复制并编译了标题为“完整源代码”的部分中提供的源代码

我将这段代码改编成一个我正在进行的项目,结果发现当我把窗口设置得太大时,应用程序会崩溃。回到原始示例代码,当窗口太大(>1000x1000左右)时,它也会崩溃

我在示例中缩小了范围,这一行似乎负责:

pixmap=gdk_pixmap_new(窗口->窗口,500500,-1)

其中,pixmap的类型为GdkPixmap*。调整窗口大小将使用与窗口大小相同的新pixmap覆盖pixmap

我在WindowsVista的EclipseJuno中做这件事,32位。我的编译器是MinGW版本0.5-beta-20120426-1。我的GTK+版本是2.24.10,Cairo版本是1.10.2。我添加了GTK的所有包含项和库,还添加了编译器开关mms位字段


pixmap或其他东西的大小有限制吗?我只是以GTK为例开始,所以如果这个例子不起作用,我不确定该去哪里。

在Debian上尝试GTK 2.24.10和cairo 1.12.2,它可以工作(没有崩溃),在1280x1024显示屏上有一个最大化的窗口。但是,我知道有一个,它是从GTK 2.24.14开始的。你的撞车是很快发生,还是过了一段时间?如果它很快崩溃,那是另一个问题,否则只需看看内存消耗

使用调试符号编译GTK也有助于缩小错误范围

顺便问一下,
window->window
在崩溃发生时有效吗