Bug fix #26021
authorTon Roosendaal <ton@blender.org>
Mon, 14 Feb 2011 17:09:02 +0000 (17:09 +0000)
committerTon Roosendaal <ton@blender.org>
Mon, 14 Feb 2011 17:09:02 +0000 (17:09 +0000)
commitc66ce21a86be1bf26abc20e5b25139153650c6ba
tree764a913ac1758f5119937179498b8755acff1409
parent8ee0c96f4b31df92f4a5e2887fbb4910cc79d75d
Bug fix #26021

Very nasty UI code issue: since every button is re-defined on a
redraw, having UI redraws while using a button was not possible.

This was solved long ago by copying over data from previous button.

However, this fails when buttons have callbacks with its own (or
a parent button) pointer.

This bug reporter found crashes in draw-overlap UI mode, this
draws entire UI over for every menu redraws, making previous button
pointers invalid. (for triple buffer, the UI is not redrawn, only
the menus).

In general: all systems falling back to old swapbuffers would have
suffered some instability because of this.

Fix is that now the old button gets lifted out from the previous
list and inserted in the new list. Works fine, but needs some tests!

Also in this commit: TIFF endian switching not needed for 16 bits tiff.
source/blender/editors/interface/interface.c
source/blender/imbuf/intern/tiff.c