Wenn du das unbedingt so machen willst, kannst du es so machen:
void panel_layer (PANEL* p, var* v)
{
var vx = *v;
while(1)
{
if(*v != vx)
{
layer_sort(p,*v);
vx = *v;
}
wait(1);
}
}
Und dann halt panel_layer(dein_panel,&deine_var); aufrufen. Dann läuft aber dauernd eine weitere Funktion und jede Funktion senkt die Framerate ein wenig. Ich empfehle es nicht.
Nimm doch einfach layer_sort an der Stelle an der du deine Variable ändern würdest.
