andlabs / andlabs/libui

GTK: onContentSizeChanged handler invoking uiWindowSetContentSize has no effect

オープン
#234 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C
スター
10.9k
フォーク
612
PR マージ指標
30日以内にマージされた PR はありません

説明

I expect this to stop the window being resized:

```
/**
gcc -I/usr/include bug.c -lui -o bug
**/
#include
#include

uiWindow *win;

int test_is_closing(uiWindow *w, void *d) {
uiControlDestroy(uiControl(w));
uiQuit();

return 0;
}

void test_has_changed(uiWindow *window, void *arg) {
uiWindowSetContentSize(window, 640, 480);
}

int main(int argc, char **argv) {
const char *initError;
uiInitOptions options;

initError = uiInit(&options);

if (initError) {
return 1;
}

win = uiNewWindow("Title", 640, 480, 0);

uiWindowOnClosing(win, test_is_closing, win);
uiWindowOnContentSizeChanged(win, test_has_changed, win);

uiControlShow(uiControl(win));

uiMain();

uiUninit();

return 0;
}
```

Works on OSX; well enough anyway, user initiated resize results in moving the window.

Messy on windows; You can see frame of window being resized;

Doesn't work at all on GTK, the window is resized (as if the handler were not installed).

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。