Branch: master

b02d2a74 2014-11-30 13:23:10 Richard Grenville
Fix window fade in
M twin/compton-tde/compton.c
diff --git a/twin/compton-tde/compton.c b/twin/compton-tde/compton.c
index 4a78f7f..e30d396 100644
--- a/twin/compton-tde/compton.c
+++ b/twin/compton-tde/compton.c
@@ -2511,7 +2511,7 @@
   XFlush(ps->dpy);
 
   /* This needs to be here since we don't get PropertyNotify when unmapped */
-  w->opacity = wid_get_opacity_prop(ps, w->id, OPAQUE);
+  calc_opacity(ps, w);
   w->greyscale_blended_background = determine_window_transparency_filter_greyscale_blended(ps, id);
   w->show_root_tile = determine_window_transparent_to_desktop(ps, id);
   w->show_black_background = determine_window_transparent_to_black(ps, id);
@@ -2562,10 +2562,6 @@
   w->in_openclose = true;
   set_fade_callback(ps, w, finish_map_win, true);
   win_determine_fade(ps, w);
-  if (w->fade) {
-    // Make sure the new window fades in properly
-    w->opacity = 0;
-  }
 
   win_determine_blur_background(ps, w);
 
c1517879 2014-11-30 13:26:34 Timothy Pearson
Fix passage of wid pointer to Window parameter in win_determine_greyscale_background
Thanks to Richard Grenville for catching that mistake!
M twin/compton-tde/compton.c
diff --git a/twin/compton-tde/compton.c b/twin/compton-tde/compton.c
index e30d396..d8f6223 100644
--- a/twin/compton-tde/compton.c
+++ b/twin/compton-tde/compton.c
@@ -3245,7 +3245,7 @@
   if (IsViewable != w->a.map_state)
     return;
 
-  bool greyscale_background_new = (determine_window_transparency_filter_greyscale(ps, w) ||
+  bool greyscale_background_new = (determine_window_transparency_filter_greyscale(ps, &w->id) ||
     (ps->o.greyscale_background && !win_match(ps, w, ps->o.greyscale_background_blacklist, &w->cache_bbblst)));
 
   win_set_greyscale_background(ps, w, greyscale_background_new);
01dcde0a 2014-11-30 22:04:22 Timothy Pearson
Fix window control issues introduced in GIT hash 17b142dd
This relates to Bug 2220
M twin/client.cpp
diff --git a/twin/client.cpp b/twin/client.cpp
index 4d26bb8..6581889 100644
--- a/twin/client.cpp
+++ b/twin/client.cpp
@@ -2200,8 +2200,11 @@
     if ( rules()->checkAcceptFocus( input ))
         {
         XSetInputFocus( tqt_xdisplay(), window(), RevertToPointerRoot, GET_QT_X_TIME() );
-        // Signal that we took focus!
-        setActive( true, true );
+        // Work around opacity bug
+        bool activePrev = active;
+        active = true;
+        updateOpacity();
+        active = activePrev;
         }
     if ( Ptakefocus )
         {