Sat 30 Nov 2013 09:16:23 PM UTC, comment #1:
The GTK_UI_MANAGER code was a work in progress and hadn't been made mainstream. The issue regarding icon size is one that I put in deliberately. At the time I was working on a display that was lower resolution and I thought that making the tool bar buttons relative to the size of the icon and text allowed for more buttons to be shown across.
It can be changed, as the older mechanism effectively uses a minimum width for each button.
If they truly are too narrow and cause problems, it can with relative ease be changed to behave as it did before.
With regards to the GTK_UI_MANAGER flag by itself, there is one serious thing that needs to be done to go main stream. If you change the language, you will find most buttons lack translations (where they were translated previously).
The problem arises because the way in which the localization strings are associated with buttons is significantly different using the uimanager way. So what really needs to be done (and I hadn't got around to it) is to create some scripts with some smart parsing to create a set of localization files where the strings can be properly matched up. The fuzzy processing of gettext is not sufficient.
I also noticed the comment added to the Changelog about suggesting that -DGTK_DISABLE_DEPRECATED -DGTK_COMPILATION -DGSEAL_ENABLE throws a lot of warnings. Without any special flags being passed to GCC (4.7.2) to extend the warnings, I see 5 warning messages. Now I know you must build with a greater number of checks. What would help is knowing what gcc arguments you use when compiling (related to warning generation etc.)
On a Debian 7.0 system I did pull out the latest code as an experiment and compiled with the flags above. Got 5 warning with CPPFLAGS="-O3 -DGTK_DISABLE_DEPRECATED -DGTK_COMPILATION -DGSEAL_ENABLE" When run it seems to be functioning here and didn't crash. I was able to play a match without a problem. The issue may be differences between GTK versions etc. Was there something in particular that made yours crash?
What OS are you using (And version)? I could always try building in a similar environment to look at it. I haven't touched the UIMANAGER code in a couple years. There was significant effort to get the UIManager integrated as well as having the GSEAL_ENABLE so it is possible something was overlooked or missed, or some interaction does cause an issue (It wouldn't be surprising).
|