Autore Topic: Disegnare immagine dentro DrawingArea esaurisce memoria RAM!  (Letto 400 volte)

Offline therock892

  • Gamberetto
  • *
  • Post: 6
    • Mostra profilo
Ciao a tutti, in un mio programma, disegnare una immagine dentro DrawingArea mi causa il riempimento della memoria RAM!
Non sò se il problema è dovuto ad un BUG delle GTK o no..eseguendolo con le librerie QT(gb.qt4 invece di gb.gtk) il problema non si manifesta..ma vorrei farlo funzionare correttamente anche con le GTK.

Nel mio codice ho una DrawingArea con l'opzione Painted=True e utilizzo i metodi Paint per scriverci e disegnarci sopra.

Il problema si verica con la seguente linea di codice:
Paint.DrawImage(image_background, 0, 0, DrawingAreaEs.Width, DrawingAreaEs.Height)
presente nell'evento:
DrawingAreaEs_Draw()

con il programma in esecuzione e con il passare del tempo Paint.DrawImage mi riempie tutta la memoria.

Ho sbagliato qualcosa io?
Dovrei richiamare una funzione per pulire la DrawingArea prima di ridisegnarla? (anche se penso che dovrebbe farlo in automatico senza l'opzione Cached abilitata, come nel mio caso!)
« Ultima modifica: 09 Maggio 2013, 18:05:30 da therock892 »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Disegnare immagine dentro DrawingArea esaurisce memoria RAM!
« Risposta #1 il: 09 Maggio 2013, 19:36:06 »
capitava anche a me con g2 usando le gtk, con le qt invece  mai avuto problemi,  bisognerebbe comunque vedere tutto il codice per rendersi conto del problema, oppure fare un progettino con solo quell' istruzione per verificare .