X Server Problem mit GLUT



  • Hallo Leute,

    ich programmier grad an einem portablen Bildschirmschoner und will dafür die aktuelle Bildschirmauflösung hernehmen. Das Problem ist aber, dass, wenn ich ich:

    #ifndef _WIN32
    Display *display = XOpenDisplay(NULL);
    int screen_num = DefaultScreen(display);
    screenx = DisplayWidth(display, screen_num);
    screeny = DisplayHeight(display, screen_num);
    XSetCloseDownMode(display, DestroyAll);
    XUngrabServer(display);
    XCloseDisplay(display);
    #endif
    

    mir über den X Server die aktuelle Auflösung holen will, die Verbindung oder die Referenzen nicht richtig geschlossen werden und das Bild zwischen meinem Schoner und den "normalen" Fenstern hin- und herflackert (Danach mache ich glutEnterGameMode(), um einen Fullscreen zu bekommen)
    Weiß jemand von euch, wie man die Verbindung RICHTIG schließt, denn wenn ich die Auflösung manuell eingebe, hab ich keine Probleme!!

    Danke Leute

    CFREAK



  • XFlush(display);
    sleep(3);
    XCloseDisplay(display);
    

    sowas in der richtung schon mal ausprobiert?

    lg lolo



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • nein, ich hab noch nicht viel ausprobiert (ich bin kaum mit X vertraut)
    vllt. könnt ihr mir ein paar Befehle schicken, die sowas in der Richtung wie XFlush auslösen (hat allerdings auch nicht funktioniert)



  • XSync() oder so gibts da noch 😕


Anmelden zum Antworten