Display list is not "EXECUTE"d in MSVS VC++

before I ran my OpenGL program on LINUX. Then I copied it into MS Visual studio .NET 2005 VC++ and here I met the problem: the display list, which is created like glNewList(displist,GL_COMPILE_AND_EXECUTE) is not executed really. To display it I am forced to call my display function immediately. On LINUX(g++) I have no such problem - like display list is executed at once without my display function calling.
What is the possible reason of such bad behaviour of MS VC++?
How to solve this problem without additional call of display function?

Thank you in advance

What graphic card do you have? This looks like driver error. On the other hand you should always use the the GL_COMPILE and separate draw call. When GL_COMPILE_AND_EXECUTE is used, Nvidia drivers do create very ineffective display list. Or at least that is what they did some time ago and it is very unlikely that this changed.

First of all, don’t use GL_COMPILE_AND_EXECUTE (use just COMPILE instead). Second, what window framework do you use?

OK, thank you.
I’ve removed _AND_EXECUTE and added callList & Flush - it works good now.