Ticket #1085: gtk-memory-leak.patch

File gtk-memory-leak.patch, 1.5 KB (added by widget-angband@…, 9 years ago)

Tentative patch to remove a lot of the memory leak

  • src/gtk/main-gtk.c

     
    21652165        int i; 
    21662166 
    21672167        if (!xd) return; 
    2168  
    2169         xd->buf = gtk_text_buffer_new(NULL); 
     2168         
     2169        if (!GTK_IS_TEXT_BUFFER(xd->buf)) 
     2170        { 
     2171                xd->buf = gtk_text_buffer_new(NULL); 
     2172        } 
     2173        else 
     2174        { 
     2175                gtk_text_buffer_set_text(xd->buf, "", -1); 
     2176        } 
    21702177        gtk_text_view_set_buffer(GTK_TEXT_VIEW (xd->text_view), xd->buf); 
    21712178         
    21722179        init_color_tags(xd); 
     
    22582265 
    22592266 
    22602267        if (!xd) return; 
    2261  
    2262         xd->buf = gtk_text_buffer_new(NULL); 
     2268         
     2269        if (!GTK_IS_TEXT_BUFFER(xd->buf)) 
     2270        { 
     2271                xd->buf = gtk_text_buffer_new(NULL); 
     2272        } 
     2273        else 
     2274        { 
     2275                gtk_text_buffer_set_text(xd->buf, "", -1); 
     2276        } 
    22632277        gtk_text_view_set_buffer(GTK_TEXT_VIEW(xd->text_view), xd->buf); 
    22642278         
    22652279        init_color_tags(xd); 
     
    22932307                char str[80]; 
    22942308         
    22952309        if (!xd) return; 
    2296  
    2297         xd->buf = gtk_text_buffer_new(NULL); 
     2310         
     2311        if (!GTK_IS_TEXT_BUFFER(xd->buf)) 
     2312        { 
     2313                xd->buf = gtk_text_buffer_new(NULL); 
     2314        } 
     2315        else 
     2316        { 
     2317                gtk_text_buffer_set_text(xd->buf, "", -1); 
     2318        } 
    22982319        gtk_text_view_set_buffer(GTK_TEXT_VIEW(xd->text_view), xd->buf); 
    22992320         
    23002321        init_color_tags(xd); 
     
    23352356 
    23362357        if (!xd) return; 
    23372358 
    2338         xd->buf = gtk_text_buffer_new(NULL); 
     2359        if (!GTK_IS_TEXT_BUFFER(xd->buf)) 
     2360        { 
     2361                xd->buf = gtk_text_buffer_new(NULL); 
     2362        } 
     2363        else 
     2364        { 
     2365                gtk_text_buffer_set_text(xd->buf, "", -1); 
     2366        } 
     2367         
    23392368        gtk_text_view_set_buffer(GTK_TEXT_VIEW (xd->text_view), xd->buf); 
    23402369         
    23412370        init_color_tags(xd);