ディスプレイリストに線と点を描画する命令を格納するとき、line_switchによって線を描画するかどうか
決める関数を格納し、あるキーを押すとline_switchがトグルして再描画するようなプログラムを作っています。

作ってみると、line_switchはしっかりトグルしているのですが、線が描画されたり、消えたりしません。
あらかじめ、ソース内でline_switchを書き換えていると描画されたり消えたりします。
プログラム実行中だと変わりません。なぜでしょうか?

glNewList(・・・・・・);
if( line_switch ){
 glBegin(GL_LINE);
 ・
 ・
}
glBegin(GL_POINT);
・
・
glutPostRedisplay();
glEndList();