site  contact  subhomenews

Fix widget order for gtkdialog, aarch64

July 27, 2018 — BarryK

Gtkdialog is used extensively in Puppy Linux and derivatives, for GUI frontends to shell scripts. It is a great tool, with many contributors over the years -- the "greatest" of these would be Puppy Forum member thunor, who undertook to greatly enhance gtkdialog after the project was abandoned by the original developer. Thunor moved on, and the project is now hosted on github, with other contributors:

https://github.com/01micko/gtkdialog

Way back in 2012, when we were playing with the puppies on the Raspberry Pi, we discovered that gtkdialog rendered the widgets in reverse order in a window, so, for example, the "OK" button would be at the top of the window instead of the bottom. Puppy Forum member jamesbond (one of the key developers of Fatdog), provided a patch, that thunor applied to version 0.8.2.

Fast forward to now, I found that bug has returned for aarch64. I consulted with jamesbond, and have a patch, which is in my OE repository:

https://github.com/bkauler/oe-qky-src/blob/5e8448751376407009db340a08f145e23a3c511a/quirky/meta-quirky/recipes-quirky/gtkdialog/files/gtkdialog-fix-aarch64-widget-order.patch

It tests if the "__aarch64__" gcc preprocessor macro is set. When I first tested this, it seemed that it was not set, so I found this way to list all of the gcc preprocessor macros:

# gcc -x c /dev/null -dM -E

...yep, "__aarch64__" is set to "1" on my Pi3. Note, I googled around, and someone else tested for "__ARM_ARCH_ISA_A64" -- that works too. 

Tags: oe