bug-ncurses
[Top][All Lists]
Advanced

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

Re: Invisible form fields w/ ncurses-5.7 on Fedora


From: Thomas Dickey
Subject: Re: Invisible form fields w/ ncurses-5.7 on Fedora
Date: Fri, 12 Aug 2011 19:08:19 -0400 (EDT)

On Fri, 12 Aug 2011, Grant Edwards wrote:

On 2011-08-12, Thomas Dickey <address@hidden> wrote:
On Fri, 12 Aug 2011, Grant Edwards wrote:
On 2011-08-12, Grant Edwards <address@hidden> wrote:

I'm sure it's something I'm doing wrong in my application, but I can't
figure out what it might be.

Doh!  After beating my head against the wall for a day and a half, it
only takes 5 miutes after posting to stumble across the problem.

There was a type in my code:

  w = newwin(rows,cols,y,x);                     assert(w);
  s = derwin(w,rows-2,cols-2,1,1);               assert(s);
  set_form_win(f,w);
  set_form_win(f,s);

That second set_form_win() call should have been set_form_sub().

I've no clue why my broken code worked for so long on so many systems
and just recently failed only on Fedora systems.

perhaps just different memory layout.  I come across very old bugs
periodically, and wonder how they escaped notice for so long.  I don't
recall anything special about set_form_win - looking at the change
history, I see that I made a macro substitution in this code in 2009/11/07
- and somewhat earlier in 2009 was working to merge Juergen's changes,
that affected the internals.  So if your two "5.7" versions fell on each
side of that timespan, then there might be some breakage for me to
investigate.

I assume that the version with two set_form_win() calls wouldn't be
expected to work, so I don't think there's anything that really needs
to be investigated.  But, if you'd like I can track down the details
for the two different "5.7" libraries.

That might help (at least me, so I could see why the behavior changed).
Since the application code was incorrect, then it might have been a
fix in ncurses (not certain...).


FWIW, on the Fedora system (where my old code didn't work), it behaved
the same way with 5 different terminals (gnome, aterm, xterm, rxvt,
Eterm): when the "form" was displayed the cursor was visible and just
sat on the upper-left-hand border of the form dialog window until I
hit the key that took down the form dialog.

Changing the second set_form_win() call to set_form_sub() makes it
work as expected everywhere.

--
Grant Edwards               grant.b.edwards        Yow! I'm rated PG-34!!
                                 at
                             gmail.com


_______________________________________________
Bug-ncurses mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/bug-ncurses


--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]