내 프로그램이 디스플레이에 맞지 않으면 왜 충돌이 발생합니까?

내 프로그램이 디스플레이에 맞지 않으면 왜 충돌이 발생합니까?

저는 SDK를 사용하여 E-ink PocketBook용 프로그램을 만들곤 했습니다.http://pbsdk.vlasovsoft.net/32비트 Ubuntu 12.04에서 훌륭하게 작동했습니다. 최근에 14.04 64비트로 갔습니다.

이 질문에 관한 에뮬레이터 컴파일 옵션을 gcc사용 합니다 . -m32나는 하루 종일 ld컴파일러와 싸우고 작동하도록 보냈습니다. 마지막으로 내 프로그램이 컴파일되는 것처럼 보였지만 실행했을 때 segmentation fault (core dumped). 나중에 나는 화면 그리기 기능에서 프로그램이 충돌한다는 것을 알았습니다. 에뮬레이터는 600x800 크기의 창을 만들고 내 노트북 ​​디스플레이는 1366x768을 사용합니다. Ubuntu 12.04에서는 문제가 없었지만 여기서는 문제가 되는 것 같습니다. 에뮬레이터에 창을 90도 회전하라고 지시하면 충돌이 발생하지 않습니다. 1600x1200 크기의 다른 디스플레이를 연결했는데 충돌이 발생하지 않습니다. 어떻게 해야 하나요?

Xfce에서는 모든 것이 잘 작동합니다.

줄에 주석을 달면 FullUpdate()충돌이 발생하지 않습니다.


#include "inkview.h"

int main_handler(int type, int par1, int par2)
{
    ClearScreen(); //Doesn't draw to screen, only buffer
    FullUpdate(); //Draws to screen
    return 0;
}

int main(int argc, char **argv)
{
    InkViewMain(main_handler);
    return 0;
}

출력:


Gtk-Message: Failed to load module "overlay-scrollbar"
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
** Message: Command 501 selected

Segmentation fault (core dumped)

어쩌면 뭔가 관련이 있는 것 아닐까요 overlay-scrollbar?

관련 정보