Uwe Bonnes wrote:
"Medland," == Medland, Bill <Bill.Medland(a)accpac.com> writes:
Medland,> I am not very comfortable with this one but strange as it may Medland,> seem it solves the problem. I'd love to know why. Medland,> <<diff13.txt>> Bill Medland (medbi01(a)accpac.com) Prevents Medland,> excessive clipping in SysListView32.
Medland,> Medland,>-static inline int perfect_graphics(void) Medland,>+static int perfect_graphics(void) Medland,> { Medland,> static int perfect = -1; Medland,> if (perfect == -1) Medland,>
Some C-Expert is requested here, but I suspect that in the old function the variable "perfect" was created in every instantiation of the "perfect_graphics" inlined function. Could you perhaps try to declare the "perfect" outside the inlined function, like
static int perfect = -1; static inline int perfect_graphics(void)
No, 'inline' must not change the semantics of the routine in any way, including static variables. If the app behaves differently when 'perfect_graphics' is inlined, this is a compiler bug. Which compiler version are you using? Bye, Ulrich -- Dr. Ulrich Weigand weigand(a)informatik.uni-erlangen.de