Uwe Bonnes wrote:
"Medland," == Medland, Bill Bill.Medland@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@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