[Xfce4-commits] <parole:master> Grab the focus on the video widget after we get the playing state signal, not when asking gst to play, this will avoid an expose event on the video widget that causes the logo to be drawn before the movie frames shows up.

Ali Abdallah noreply at xfce.org
Tue Dec 8 15:20:01 CET 2009


Updating branch refs/heads/master
         to 0dc861b3aed8c897be40c392723085ef2ffb8b47 (commit)
       from bd7cfc2501691666b8a077c4ad9cc703bbd4ec86 (commit)

commit 0dc861b3aed8c897be40c392723085ef2ffb8b47
Author: Ali Abdallah <aliov at xfce.org>
Date:   Tue Dec 8 15:16:19 2009 +0100

    Grab the focus on the video widget after we get the playing state signal, not
    when asking gst to play, this will avoid an expose event on the video widget
    that causes the logo to be drawn before the movie frames shows up.
    
    Cleaning in the interface files.

 data/interfaces/parole-settings.ui |   16 ++--------------
 data/interfaces/plugins.ui         |    1 -
 gst/parole-gst.c                   |    2 ++
 src/parole-player.c                |    7 +++----
 4 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/data/interfaces/parole-settings.ui b/data/interfaces/parole-settings.ui
index 0b5c7e2..7a02201 100644
--- a/data/interfaces/parole-settings.ui
+++ b/data/interfaces/parole-settings.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
-  <!-- interface-requires xfce4 0.0 -->
+  <!-- interface-requires libxfce4ui 4.5 -->
   <!-- interface-naming-policy project-wide -->
   <object class="XfceTitledDialog" id="settings-dialog">
     <property name="border_width">5</property>
@@ -373,18 +373,7 @@
           <object class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <child>
-              <object class="GtkButton" id="help">
-                <property name="label">gtk-help</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
+              <placeholder/>
             </child>
             <child>
               <object class="GtkButton" id="close">
@@ -410,7 +399,6 @@
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-11">help</action-widget>
       <action-widget response="-7">close</action-widget>
     </action-widgets>
   </object>
diff --git a/data/interfaces/plugins.ui b/data/interfaces/plugins.ui
index 07599b9..8eb352f 100644
--- a/data/interfaces/plugins.ui
+++ b/data/interfaces/plugins.ui
@@ -1,7 +1,6 @@
 <?xml version="1.0"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
-  <!-- interface-requires xfce4 0.0 -->
   <!-- interface-naming-policy project-wide -->
   <object class="GtkListStore" id="liststore">
     <columns>
diff --git a/gst/parole-gst.c b/gst/parole-gst.c
index 1508161..84e2a96 100644
--- a/gst/parole-gst.c
+++ b/gst/parole-gst.c
@@ -520,6 +520,8 @@ parole_gst_expose_event (GtkWidget *widget, GdkEventExpose *ev)
 
     parole_gst_set_x_overlay (gst);
 
+    TRACE ("EXPOSE event state=%d  target=%d", gst->priv->state, gst->priv->target);
+    
     switch ( gst->priv->state )
     {
 	case GST_STATE_PLAYING:
diff --git a/src/parole-player.c b/src/parole-player.c
index 22ff70e..400b2fd 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -395,7 +395,6 @@ parole_player_media_activated_cb (ParoleMediaList *list, GtkTreeRowReference *ro
 				 parole_file_get_uri (file),
 				 sub);
 	    g_free (sub);
-	    gtk_widget_grab_focus (player->priv->gst);
 	    g_object_unref (file);
 	}
     }
@@ -408,7 +407,6 @@ parole_player_disc_selected_cb (ParoleDisc *disc, const gchar *uri, const gchar
     gtk_widget_set_sensitive (player->priv->stop, TRUE);
     
     parole_gst_play_device_uri (PAROLE_GST (player->priv->gst), uri, device);
-    gtk_widget_grab_focus (player->priv->gst);
 }
 
 static void
@@ -416,7 +414,6 @@ parole_player_uri_opened_cb (ParoleMediaList *list, const gchar *uri, ParolePlay
 {
     parole_player_reset (player);
     gtk_widget_set_sensitive (player->priv->stop, TRUE);
-    gtk_widget_grab_focus (player->priv->gst);
     parole_gst_play_uri (PAROLE_GST (player->priv->gst), uri, NULL);
 }
 
@@ -549,6 +546,8 @@ parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
 	g_object_unref (pix);
 	
     parole_player_save_uri (player, stream);
+    
+    gtk_widget_grab_focus (player->priv->gst);
 }
 
 static void
@@ -1683,7 +1682,7 @@ parole_player_set_wm_opacity_hint (GtkWidget *widget)
 
     xdisplay = GDK_DISPLAY_XDISPLAY (gdkdisplay);
     
-    atom = XInternAtom (xdisplay, "_NET_WM_WINDOW_OPACITY_LOCKED", FALSE);
+    atom = XInternAtom (xdisplay, "_NET_WM_WINDOW_OPACITY_LOCKED", TRUE);
     
     gdkwindow = gtk_widget_get_window (widget);
     



More information about the Xfce4-commits mailing list