List Info

Thread: CR-Client: Removing deprecated functions as part of LSB work #2; fixed HXBin background color




CR-Client: Removing deprecated functions as part of LSB work #2; fixed HXBin background color
user name
2006-12-29 16:48:59
Modified by: dyekreal.com
Date: 12/29/2006
Project: Helix Player

Synopsis:
   Removing deprecated functions as part of LSB work #2;
   fixed HXBin background color

Overview:
I take this as completing deprecated functions removal
LSB-compliant work.

Replaced functions:
gdk_pixbuf_unref(),
g_value_set_string_take_ownership(),
gdk_pixbuf_render_to_drawable(),
canonicalize_file_name().

The video window containing logo is now all black.
Before this, gdk_window_set_background() could be fighting
with
GtkWidget (gtk_widget_modify_bg()) in setting HXBin's
background color.


Files Modified:
player/common/gtk/hxplayer.cpp -
g_value_set_string_take_ownership().
player/common/gtk/unix.pcf     -
project.AddDynamicLibraries(" --as-needed ")
player/app/gtk/commonapp.cpp   - canonicalize_file_name()
player/app/gtk/embeddedapp.cpp -
g_value_set_string_take_ownership().
player/app/gtk/support.h       - #define gdk_pixbuf_unref
g_object_unref
player/app/gtk/unix.pcf        -
project.AddDynamicLibraries(" --as-needed ")


player/common/gtk/hxbin.cpp    - Set HXBin background color
properly with
                                  gtk_widget_modify_bg().
player/app/gtk/mainapp.cpp     - Set HXBin background color
to black.




Image Size and Heap Use impact (Client -Only):
None.

Platforms and Profiles Affected:
Linux

Distribution Libraries Affected:
None.

Distribution library impact and planned action:
None.

Platforms and Profiles Build Verified:
Profile: helix_client_all_define
Platform: Fedora Core 5

Platforms and Profiles Functionality verified:
Profile: helix_client_all_define
Platform: Fedora Core 5

Branch: HEAD

Copyright assignment: I am a RealNetworks employee.


Index: hxplayer.cpp
============================================================
=======
RCS file: /cvsroot/player/common/gtk/hxplayer.cpp,v
retrieving revision 1.51
diff -u -w -r1.51 hxplayer.cpp
--- hxplayer.cpp        15 Sep 2006 22:14:02 -0000      1.51
+++ hxplayer.cpp        29 Dec 2006 01:50:46 -0000
 -1163,7
+1163,7 
                                              
&g_xshm_event_base,
                                               &ignore);

-            g_pump_timer_id = gtk_timeout_add(SLEEP_TIME,
+            g_pump_timer_id = g_timeout_add(SLEEP_TIME,
                                               
hx_player_pump,
                                                NULL);
  #endif
 -2270,7
+2270,7 
  #ifdef G_OS_UNIX
      if(g_engine_ref_count == 0)
      {
-        gtk_timeout_remove(g_pump_timer_id);
+        g_source_remove(g_pump_timer_id);

          if(g_dpy)
          {
 -2480,7
+2480,7 
              str_value[buf_used] = '';

              g_value_init(value, G_TYPE_STRING);
-            g_value_set_string_take_ownership(value,
str_value);
+            g_value_take_string(value, str_value);
              break;

          default:




Index: unix.pcf
============================================================
=======
RCS file: /cvsroot/player/common/gtk/unix.pcf,v
retrieving revision 1.5
diff -u -w -r1.5 unix.pcf
--- unix.pcf    15 Sep 2006 19:46:52 -0000      1.5
+++ unix.pcf    29 Dec 2006 01:51:26 -0000
 -117,5
+117,6 
  # platform.link.args["default"] =
platform.link.args["default"] + " " + 
gtk_other_ldflags
  # XXXRGG: This is a hack
  project.AddDynamicLibraries(gtk_other_ldflags)
+project.AddDynamicLibraries(" --as-needed ")

  project.AddSystemLibraries('pthread')





Index: commonapp.cpp
============================================================
=======
RCS file: /cvsroot/player/app/gtk/commonapp.cpp,v
retrieving revision 1.87
diff -u -w -r1.87 commonapp.cpp
--- commonapp.cpp       12 Dec 2006 02:58:11 -0000      1.87
+++ commonapp.cpp       29 Dec 2006 01:57:22 -0000
 -1334,7
+1334,7 
                          {
                              if(strncmp(key,
"url", 3) == 0)
                              {
-                               
hxwindow_recent_urls_append(window, 
value_str);
+                               
hxwindow_recent_urls_append(window, "", 
value_str);
                              }
                          }
                          break;
 -1679,8
+1679,8 

  #ifdef _GNU_SOURCE
          /* canonicalize_file_name is more intelligent than
realpath, so use
-           it if it's available. */
-        resolved_exec_filename =
canonicalize_file_name(resolved_argv0);
+           it if it's available. canonicalize_file_name(a)
is now 
realpath(a, NULL)! */
+        resolved_exec_filename = realpath(resolved_argv0,
NULL);
  #else
         char buf[PATH_MAX+1] = "";
          resolved_exec_filename = realpath(resolved_argv0,
buf);
 -2077,26
+2077,16 

          g_return_val_if_fail(pixmap != NULL, FALSE);

-//         This is a gtk2.2 function. See below for the 2.0
version
-//         gdk_draw_pixbuf(GDK_DRAWABLE(pixmap),
-//                        
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
-//                         pixbuf,
-//                         0, 0, // src
-//                         0, 0, // dest
-//                         width, height,
-//                         GDK_RGB_DITHER_NORMAL,
-//                         0, 0  // dither
-//                         );
-
-        gdk_pixbuf_render_to_drawable(pixbuf,
-                        GDK_DRAWABLE(pixmap),
+        gdk_draw_pixbuf(GDK_DRAWABLE(pixmap),
                         
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+                        pixbuf,
                          0, 0, // src
                          0, 0, // dest
                          width, height,
                          GDK_RGB_DITHER_NORMAL,
                          0, 0  // dither
                          );
+
      }

      return pixmap;




--- player/app/gtk/commonapp.cpp        2006-12-24
20:42:18.000000000 -0800
+++ commonapp.cpp       2006-12-28 17:57:17.000000000 -0800
 -1679,8
+1679,8 

  #ifdef _GNU_SOURCE
          /* canonicalize_file_name is more intelligent than
realpath, so use
-           it if it's available. */
-        resolved_exec_filename =
canonicalize_file_name(resolved_argv0);
+           it if it's available. canonicalize_file_name(a)
is now 
realpath(a, NULL)! */
+        resolved_exec_filename = realpath(resolved_argv0,
NULL);
  #else
         char buf[PATH_MAX+1] = "";
          resolved_exec_filename = realpath(resolved_argv0,
buf);
 -2077,26
+2077,16 

          g_return_val_if_fail(pixmap != NULL, FALSE);

-//         This is a gtk2.2 function. See below for the 2.0
version
-//         gdk_draw_pixbuf(GDK_DRAWABLE(pixmap),
-//                        
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
-//                         pixbuf,
-//                         0, 0, // src
-//                         0, 0, // dest
-//                         width, height,
-//                         GDK_RGB_DITHER_NORMAL,
-//                         0, 0  // dither
-//                         );
-
-        gdk_pixbuf_render_to_drawable(pixbuf,
-                        GDK_DRAWABLE(pixmap),
+        gdk_draw_pixbuf(GDK_DRAWABLE(pixmap),
                         
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+                        pixbuf,
                          0, 0, // src
                          0, 0, // dest
                          width, height,
                          GDK_RGB_DITHER_NORMAL,
                          0, 0  // dither
                          );
+
      }

      return pixmap;






--- player/app/gtk/embeddedapp.cpp      2006-12-24
20:42:30.000000000 -0800
+++ embeddedapp.cpp     2006-12-27 08:21:36.000000000 -0800
 -3586,7
+3586,7 
              memset(&value, 0, sizeof(value));

              g_value_init(&value, G_TYPE_STRING);
-            g_value_set_string_take_ownership(&value,
g_strdup(val));
+            g_value_take_string(&value, g_strdup(val));
             
g_object_set_property(G_OBJECT(window->widget), 
"author_override", &value);
          }

 -3606,7
+3606,7 
              memset(&value, 0, sizeof(value));

              g_value_init(&value, G_TYPE_STRING);
-            g_value_set_string_take_ownership(&value,
g_strdup(val));
+            g_value_take_string(&value, g_strdup(val));
             
g_object_set_property(G_OBJECT(window->widget), 
"title_override", &value);
          }
          ret = TRUE;
 -3625,7
+3625,7 
              memset(&value, 0, sizeof(value));

              g_value_init(&value, G_TYPE_STRING);
-            g_value_set_string_take_ownership(&value,
g_strdup(val));
+            g_value_take_string(&value, g_strdup(val));
             
g_object_set_property(G_OBJECT(window->widget), 
"copyright_override", &value);
          }






--- player/app/gtk/support.h      2003-09-17
15:17:43.000000000 -0700
+++ support.h   2006-12-27 13:40:11.000000000 -0800
 -31,6
+31,8 
  #endif


+#define gdk_pixbuf_unref g_object_unref
+
  /*
   * Public Functions.
   */





--- player/app/gtk/unix.pcf       2005-06-17
13:50:38.000000000 -0700
+++ unix.pcf    2006-12-27 19:24:59.000000000 -0800
 -127,6
+127,7 
  # XXXRGG: This is a hack
  # platform.link.args["default"] =
platform.link.args["default"] + " " + 
gtk_other_ldflags
  project.AddDynamicLibraries(gtk_other_ldflags)
+project.AddDynamicLibraries(" --as-needed ")

  project.AddSources("xutils.cpp",
                     "mailcap.cpp")








Index: hxbin.cpp
============================================================
=======
RCS file: /cvsroot/player/common/gtk/hxbin.cpp,v
retrieving revision 1.15
diff -u -w -r1.15 hxbin.cpp
--- hxbin.cpp   6 Jul 2005 00:10:06 -0000       1.15
+++ hxbin.cpp   29 Dec 2006 08:38:39 -0000
 -169,7
+169,7 
      gdk_colormap_alloc_color (gtk_widget_get_colormap
(widget),
                                &bin->color, TRUE,
TRUE);

-    gdk_window_set_background (widget->window,
&bin->color);
+    gtk_widget_modify_bg (widget, GTK_STATE_NORMAL,
&bin->color);
  }

  static void
 -380,7
+380,8 
      {
          GtkWidget* widget = GTK_WIDGET(bin);
          gdk_colormap_alloc_color (gtk_widget_get_colormap
(widget),
-                                  color, TRUE, TRUE);
-        gdk_window_set_background
(GTK_WIDGET(widget)->window, color);
+                                  &bin->color, TRUE,
TRUE);
+
+        gtk_widget_modify_bg(widget, GTK_STATE_NORMAL,
&bin->color);
      }
  }





--- player/app/gtk/mainapp.cpp  2006-12-28
22:53:37.000000000 -0800
+++ mainapp.cpp 2006-12-29 01:08:00.000000000 -0800
 -5458,9
+5458,15 
      GError* error = NULL;
      HXPlayer* player;
      GtkWidget* video_area;
+    HXBin *hxbin = HX_BIN(window->hxbin);
+    GdkColor color;

-    hx_bin_stretch_to_fit(HX_BIN(window->hxbin), TRUE);
-    hx_bin_maintain_aspect_ratio(HX_BIN(window->hxbin),
TRUE);
+    hx_bin_stretch_to_fit(hxbin, TRUE);
+    hx_bin_maintain_aspect_ratio(hxbin, TRUE);
+
+    // Black container background to match the logo.
+    gdk_color_parse ("black", &color);
+    hx_bin_set_bg_color (hxbin, &color);

      g_signal_connect_swapped(G_OBJECT(window->hxbin),
                              
"button_press_event",





-- 
Daniel Yek


_______________________________________________
Player-dev mailing list
Player-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/play
er-dev
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )