Fix --tab error The error occurs when a tab number greater than one is given, which will cause obconf to crash with a segmentation violation. For example, typing 'obconf --tab 2' on the console will crash insteading of launching a GUI with tab 2 selected. The error is caused by using the MAX macro with a first argument that is not an idempotent expression (file main.c, line number 135): obc_tab = MAX(atoi(argv[++i]) - 1, 0); where MAX is defined in file /usr/include/x86_64-linux-gnu/sys/param.h: #define MAX(a,b) (((a)>(b))?(a):(b)) where the result will be the first argument a if it is more than the second argument b, otherwise the result will be b, ie, the result will be the maximum of a or b. Notice that a or b will be evaluated twice, depending on the > comparison, which means that a and b should always be idempotent expression, assuming that the compiler does not generate code to cache a and b values as intermediate results. In our case, if the argument counter i is zero or one, a will be evaluated once, but if it is two or more, a will be evaluated twice, which means that the argv array will be accessed past its natural end.
Stop using libglade GtkOptionMenu -> GtkComboBoxText move is to make porting to gtk3 easier (this needs gtk+ 2.24), most of the pixbuf changes in src/preview.c for the same reason. Other changes should not go beyond 2.18. The changes in packing in glade file are also for the sake of gtk3 - they shouldn't affect gtk2 (hbox51 removal was mostly to make things cleaner - there didn't seem to be a reason for extra container there). The added catch is that http://savannah.gnu.org/bugs/?34506 was only fixed in gettext 0.18.3 (just a few weeks old) and there's a little problem with gtk2 version of glade (http://bugzilla.gnome.org/show_bug.cgi?id=689667). The ui file itself nevertheless works.
Update po files for release, remove fuzzys
Fix menu preview rendering The menu preview was off in a few ways. The parent relative position for the menu items was incorrect, causing them to grab the wrong part of their parent's texture. The menu title's parent was unset, which means it crashed when parentrealtive was used. The borders were drawn in the wrong places since the menu items were not drawn in the right places, and the menu background was being drawn into the preview window when it should only appear as a result of the menu items reusing the texture in their own. Lastly, the menu background's height needed to be fixed to include 1 border (between the title and the items). This fixes the crash reported in Bug 4659.