free correctly each buffer in XCB engine
authorcaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 15 Feb 2009 11:14:12 +0000 (11:14 +0000)
committercaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 15 Feb 2009 11:14:12 +0000 (11:14 +0000)
The xcb_image dependency should be removed and replaced
by direct calls of the request XPutImage

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@39024 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/engines/software_x11/evas_xcb_buffer.c

index 9d6d77c..39b63b2 100644 (file)
@@ -221,6 +221,7 @@ evas_software_xcb_x_output_buffer_free(Xcb_Output_Buffer *xcbob,
                                          xcb_get_input_focus_unchecked(xcbob->connection),
                                          NULL));
        xcb_shm_detach(xcbob->connection, xcbob->shm_info->shmseg);
+       free(xcbob->image->data);
        xcb_image_destroy(xcbob->image);
        shmdt(xcbob->shm_info->shmaddr);
        shmctl(xcbob->shm_info->shmid, IPC_RMID, 0);
@@ -229,6 +230,7 @@ evas_software_xcb_x_output_buffer_free(Xcb_Output_Buffer *xcbob,
    else
      {
        if (xcbob->data) xcbob->image->data = NULL;
+       free(xcbob->image->data);
        xcb_image_destroy(xcbob->image);
      }
    free(xcbob);