Re: [gtk-osx-users] [Gtk-osx-users] delayed drawing updates (not until lost focus) as compared to X11



On Nov 26, 2011, at 1:05 PM, Anthony J Bybell wrote:

> It's best to explain this one with some examples.  Version-wise, I'm using the modulesets that was updated a couple of days ago.  I have some workarounds in my code that fix this problem for me, but they appear to be hiding some behavior in GDK.
> 
> svn co https://gtkwave.svn.sourceforge.net/svnroot/gtkwave gtkwave 
> cd gtkwave/gtkwave3
> ./configure --disable-xz
> make
> cd src
> ./gtkwave ../examples/des.vzt ../examples/des.sav
> 
> This should compile for you; I don't think you need to --disable-tcl.  Click on the signals pane and try pressing cmd-a, shift-cmd-a and you will see that the signal names highlight and unhighlight as they should.
> 
> cmd-q to exit.
> 
> Now go into signalwindow.c function osx_timer() and then comment out the 4 consecutive lines around line 684 containing gtk_widget_hide()/gtk_widget_show().
> 
> make
> ./gtkwave ../examples/des.vzt ../examples/des.sav
> 
> Click on the signals pane and try pressing cmd-a, shift-cmd-a and you will see that the signal names update much later (if at all), or finally update when you move pointer focus out of the signals pane.
> 
> For some reason I'm coming across delayed updates in gdk calls becoming visible to my signalarea and wavearea widgets.  
> 
> The same can be seen in a deprecated widget CTree (shown directly below the "SST" label):
> Look in treesearch_gtk2.c and search for the comment text "workaround" in the functions tree_[collapse|expand]_callback().
> 
> With the gtk_widget_hide()/gtk_widget_show() present when you click on (+)/(-) the widget does what it should.  Otherwise it doesn't update until the tree loses focus, or if it updates, the update is partial.
> 
> I am wondering if there is some weirdness in that gdk_display_sync()/gdk_display_flush() actually need to do something, if there's a rendering pipeline that needs to be flushed, or there's a missing copy from a widget's backing store or whatever that is no problem with X11 but needs to be kicked when Quartz is used.  At first I thought this simply was a CTree problem, but as I'm seeing it with widgets returned by gtk_drawing_area_new(), I'm wondering if it's something a little more fundamental concerning the interplay with GDK.

I think this is beyond the scope of this list. Please file a bug at
https://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B and component quartz.
Thanks.

Regards,
John Ralls


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Gtk-osx-users mailing list
Gtk-osx-users lists sourceforge net
https://lists.sourceforge.net/lists/listinfo/gtk-osx-users


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