Modified by: dyek real.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-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/play
er-dev
|