diff options
author | Richard Grenville <[email protected]> | 2014-07-28 12:50:15 +0800 |
---|---|---|
committer | Richard Grenville <[email protected]> | 2014-07-28 12:50:15 +0800 |
commit | 7e268e7b449a3bb8cf92161e58193c874c4ca589 (patch) | |
tree | a9b411ac169f4f0cd5fcba20bc3640680de46a4e /compton.h | |
parent | 90c3a42d5539e12c26684ad43fdda2209ecd39fe (diff) | |
download | tdebase-7e268e7b449a3bb8cf92161e58193c874c4ca589.tar.gz tdebase-7e268e7b449a3bb8cf92161e58193c874c4ca589.zip |
Improvement: Separate GLX parts from session_t & Attempt to fix #217
- Separate GLX parts from session_t into glx_session_t.
- Add --rererdir-on-root-change and --glx-reinit-on-root-change, as
possible solutions for #217. Thanks to jlindgren90 for reporting.
Diffstat (limited to 'compton.h')
-rw-r--r-- | compton.h | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -270,7 +270,7 @@ free_reg_data(reg_data_t *pregd) { */ static inline void free_paint(session_t *ps, paint_t *ppaint) { - free_texture(ps, &ppaint->ptex); + free_paint_glx(ps, ppaint); free_picture(ps, &ppaint->pict); free_pixmap(ps, &ppaint->pixmap); } @@ -289,6 +289,7 @@ free_wpaint(session_t *ps, win *w) { */ static inline void free_win_res(session_t *ps, win *w) { + free_win_res_glx(ps, w); free_region(ps, &w->extents); free_paint(ps, &w->paint); free_region(ps, &w->border_size); @@ -299,9 +300,6 @@ free_win_res(session_t *ps, win *w) { free(w->class_instance); free(w->class_general); free(w->role); -#ifdef CONFIG_VSYNC_OPENGL_GLSL - free_glx_bc(ps, &w->glx_blur_cache); -#endif } /** @@ -1224,10 +1222,10 @@ swopti_handle_timeout(session_t *ps, struct timeval *ptv); static inline bool ensure_glx_context(session_t *ps) { // Create GLX context - if (!ps->glx_context) + if (!glx_has_context(ps)) glx_init(ps, false); - return ps->glx_context; + return ps->psglx->context; } #endif @@ -1274,7 +1272,7 @@ init_alpha_picts(session_t *ps); static bool init_dbe(session_t *ps); -static void +static bool init_overlay(session_t *ps); static void |