On 8-Jan-07, at 4:02 AM, Christian Biere wrote:
> It's better to discuss these things on -devel because it's about code
> in SVN (not a release) and very technical, so it's not very  
> interesting
> from a user's view.

Sure thing.  I wasn't sure which was most appropriate.  I'm hesitant  
about posting to this list because I do not wish to be seen as  
styling myself a 'developer';  nor do I wish to add chaff and  
annoying newbie errors to the list traffic.  I'm recovering rusty old  
ANSI-C programming skills from high school, and I have absolutely no  
'real' programming experience.

In other words:

1)      I am NOT a developer.
2)      My code suggestions SHOULD be reviewed by actual developers before  
implementation.
3)      Tell me to go away if I'm bothering you.

C.B. is correct, of course, about how my 'fix' worked;  it just  
prevented the gtk_clist_moveto().  Removing the conditional execution  
entirely does solve the jumping problem.  However, this prevents  
jumping when required, i.e., if 'jump to new search' is selected, and  
the bottom of the search list is not visible.

1)  Would the following substitution [which seems to work] be  
acceptable?  It seems to solve my problem.

-2297           if (!GTK_WIDGET_HAS_FOCUS(GTK_WIDGET(clist)))
                                gtk_clist_moveto(clist, row, 0, 0.0, 0.0);

+2297           if ( gtk_clist_row_is_visible(clist, row) != 
GTK_VISIBILITY_FULL)
                                gtk_clist_moveto(clist, row, 0, 0.0, 0.0);


2)  What's going on with the "! GTK_WIDGET_HAS_FOCUS" conditional  
"gtk_ctree_node_moveto()" functions in the following places?  I tried  
changing them into straight visibility tests as above, and then  
finally tried removing them;  nothing I did seemed to change the  
behavior of the GUI in any way.  I'm mainly just curious, but someone  
might want to review them.


a) in "src/ui/gtk/gtk1/search.c":
2366            if (!GTK_WIDGET_HAS_FOCUS(GTK_WIDGET(ctree)))
                                gtk_ctree_node_moveto(ctree, node, 0, 0.0, 0.0);

b) in "src/ui/gtk/main_cb.c":

378                     if (!GTK_WIDGET_HAS_FOCUS(GTK_WIDGET(ctree)))
                                gtk_ctree_node_moveto(ctree, node, 0, 0.0, 0.0);

The documentation makes it sound like gtk_ctree_node_is_visible(),  
the closest analog to the function that worked for me above, cannot  
guarantee that the node itself will actually be within the viewable  
container bounds.  As far as I can tell, it can't ... but I'm unsure  
of whether I've actually seen the code change execute.

3)  Most importantly (probably):  has anyone else running with GTK 
+1.2 on any other platform experienced problems with the 'jumping'  
behavior?  My GTK+ version is 1.2.10, and my X11 version is  "1.1.3 -  
XFree86 4.4.0".


- matt




-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gtk-gnutella-devel mailing list
Gtk-gnutella-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel

Reply via email to