Re: gtk 2.24 on Windows



On Sat, 28 Jan 2012, zz excite it wrote:

On Friday 27 January 2012 22:11:52 Allin Cottrell wrote:
For a long time I've built the Windows version of my app against gtk
2.16 (and included the corresponding runtime in the app's
installer). After hearing of progress with gtk 2.24 on Windows I
thought I'd give that a try, so today I did a build using gtk 2.24.8
and friends from http://www.gtk.org/download/win32.php (updating
both runtime and dev).

I then tried the new package on a Thinkpad T420s running Windows 7.
Ouch! The app was basically unusable due to horrible painting
problems. The two most notable things, before I gave up, were:

1) On first accessing a menu on the app's main menu bar it worked
fine, but on subsequent accesses the menu appeared totally blank:
you pull down a flat gray rectangle. This was the case for all the
main pull-down menus.

2) On opening a window containing a treeview, the treeview is blank.
But if you move the mouse over the window this paints in the
content, line by line.

Other sorts of window saw their contents appear and then disappear.

Any ideas what's going on here? (The gtk 2.16 build works fine on
the same system.)


Hi,
i use the same gtk bundle on win 7 and everything works
(treeviews, menus, etc).
It was just more picky and exposed some little bugs I've done
mostly by abusing gtkentry private const char strings.
I also needed to force it to show icons in buttons
with a call in code to set the property as it did not want
to honour gtkrc. I use codeblocks as IDE and latest
Tdm-gcc as compiler (http://tdm-gcc.tdragon.net/download).
I also force glib to use libc's standard allocators
by calling this function at app start:

void my_mem_init(void)
{
        GMemVTable gMemVTable;

        gMemVTable.malloc      = malloc;
        gMemVTable.realloc     = realloc;
        gMemVTable.free        = free;
        gMemVTable.calloc      = NULL;
        gMemVTable.try_malloc  = NULL;
        gMemVTable.try_realloc = NULL;
        g_mem_set_vtable( &gMemVTable );
}

Hope this helps.

Thanks. It's certainly possible that my gtk code has bugs. But the app shows none of these problems with gtk 2.24 on Linux.
I guess I'll need to construct a minimal test case.

Allin Cottrell




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]