3

我正在将自定义 Gtk+ 小部件从 Gtk2 移植到 Gtk3,并且我观察到对于后者,我从具有负 Y 坐标的父小部件(一个 GtkScrolledWindow)获得size_allocation调用。allocation

这导致我的小部件很明显会发疯并做一些愚蠢的事情。如果我忽略包含负坐标的调用,一切似乎都正常。

所以问题是:

  • 这是一个gtk错误吗?
  • 如果不是,在什么情况下父母应该发送负坐标?
  • 为什么这发生在 GTK3 而不是 GTK2?

gtk+ 3.6.4(Ubuntu 13.04 中的那个)和 3.8(Ubuntu 13.10)都会发生这种情况。将很快测试更高版本。

4

1 回答 1

1

事实证明,问题在于小部件如何修改其GtkAdjustment值,这是实现Scrollable GInterface所需的。

这似乎是因为 Gtk3 在接受奇怪的价值观方面似乎更加“自由”。在错误修复的提交消息中阅读整个故事(开源,是的!)。

于 2013-08-19T15:41:45.323 回答