Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Screeninfo löst Segfault aus (139)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
CommLan



Anmeldungsdatum: 23.10.2015
Beiträge: 40
Wohnort: hinterm Mond

BeitragVerfasst am: 17.01.2017, 15:58    Titel: Screeninfo löst Segfault aus (139) Antworten mit Zitat

Hallo an alle, es gibt mal wieder was neues zum grübeln.

Wie oben zu lesen bringt Screenlist jegliche Programme auf meinem Rechner im Büro zum tödlichen Absturz.

Es reicht schon allein dieser Aufruf:

Code:
 PRINT SCREENLIST(32)


Er reagiert auch auf alle anderen Farbtiefen allergisch. Ist da irgendwas bekannt im Zusammenhang mit Rechnern, die 2 Grafikkarten besitzen (Ich sage bewusst nicht SLI) und mehr als 2 Bildschirme haben (In meinem Falle 6) ?

Oder muss ich mir eher Sorgen um meine Grafikkarten machen, dass die nen Defekt haben ? missbilligen


Das System ist Xubuntu 16.04 .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 18.01.2017, 10:43    Titel: Antworten mit Zitat

Screenlist ist intern für X11 etwa wie folgt implementiert; probier den Code bitte einmal aus, ob er auch mit einem Segfault endet bzw. ob Fehlermeldungen ausgegeben werden. Vielleicht kannst du im Fehlerfall auch herausfinden was genau das Problem ist (z.B. durch zusätzliche Debug-Ausgaben mit Print).

Code:

#include "X11/Xlib.bi"
#include "X11/extensions/Xrandr.bi"


#inclib "X11"
#inclib "Xrandr"



sub screenlist_fb(depth as long)

   if depth <> 8 andalso depth <> 15 andalso depth <> 16 andalso depth <> 24 andalso depth <> 32 then print "invalid depth" : return
   
   dim dpy as Display ptr
   dim cfg as XRRScreenConfiguration ptr
   dim sizes as XRRScreenSize ptr
   
   dpy = XOpenDisplay(NULL)
   if dpy = 0 then print "no display" : return
   
   cfg = XRRGetScreenInfo(dpy, XDefaultRootWindow(dpy))
   if cfg = 0 then print "no config" : return
   
   dim sz as long
   sizes = XRRConfigSizes(cfg, @sz)
   for i as integer = 0 to sz-1
      print sizes[i].width; " x "; sizes[i].height
   next

   XRRFreeScreenConfigInfo(cfg)
   XCloseDisplay(dpy)

end sub


screenlist_fb(32)

_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz