2012-12-17 42 views
0

我已經複製並編譯了標題爲「完整源」部分中提供的源代碼。當窗口太大或最大化時,開羅/ GTK示例代碼崩潰

http://cairographics.org/threaded_animation_with_cairo/

我適應這個代碼是我唯一的工作,以發現,當我做了窗口過大的應用程序會崩潰的一個項目。回到原始示例代碼,當窗口太大(> 1000x1000左右)時,它也會崩潰。

我在示例縮小這條線似乎負責:

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

其中,pixmap的類型是GdkPixmap *。調整窗口大小將使用作爲窗口大小的新像素圖覆蓋像素圖。

我正在使用Windows Vista中的Eclipse Juno執行此操作,32位。我的編譯器是MinGW版本0.5-beta-20120426-1。我的GTK +版本是2.24.10,顯然開羅是1.10.2我爲GTK添加了所有包含和庫,並且還添加了編譯器開關-mms-bitfields。

像素圖的大小有什麼限制嗎?我只是以GTK開頭的例子,所以如果這個例子不起作用,我不確定該去哪裏。

回答

1

在Debian上試用GTK 2.24.10和cairo 1.12.2,它在1280x1024顯示器上工作(沒有崩潰),最大化窗口。但是,我知道有一個memory leak on GTK for Windows,其中has been fixed自GTK 2.24.14起。你的崩潰很快發生,還是經過一段時間?如果它很快崩潰了,那是另一個問題,否則只要看看內存消耗。

編譯GTK使用調試符號也將有助於縮小錯誤...

BTW,是window->window有效的崩潰發生的時間?