openbsd-ports/x11/gmtk/patches/patch-src_gmtk_media_player_c
dcoppa 30b5938c7b Fix parameter warning to gtk_widget_get_visible
(upstream svn revision r232)

Only do the media player allocation event if no video is present
(upstream svn revision r233)
2013-11-06 07:28:25 +00:00

55 lines
2.4 KiB
Plaintext

$OpenBSD: patch-src_gmtk_media_player_c,v 1.15 2013/11/06 07:28:25 dcoppa Exp $
Fix parameter warning to gtk_widget_get_visible
(upstream svn revision r232)
Add key bindings for h tv_step_channel down and k tv_step_channel
up (upstream svn revision r228)
Only do the media player allocation event if no video is present
(upstream svn revision r233)
--- src/gmtk_media_player.c.orig Fri Aug 16 17:18:55 2013
+++ src/gmtk_media_player.c Wed Nov 6 07:58:52 2013
@@ -147,7 +147,7 @@ gboolean signal_event(gpointer data)
break;
case EVENT_TYPE_ALLOCATION:
- if (gtk_widget_get_visible(event->player)) {
+ if (gtk_widget_get_visible(GTK_WIDGET(event->player))) {
if (!(event->event_allocation->width >= 65535 || event->event_allocation->height >= 65535))
g_signal_emit_by_name(event->player, event->event_name, event->event_allocation);
}
@@ -834,6 +834,12 @@ static gboolean player_key_press_event_callback(GtkWid
case GDK_o:
write_to_mplayer(player, "osd\n");
break;
+ case GDK_h:
+ write_to_mplayer(player, "tv_step_channel -1\n");
+ break;
+ case GDK_k:
+ write_to_mplayer(player, "tv_step_channel 1\n");
+ break;
default:
gm_log(player->debug, G_LOG_LEVEL_INFO, "ignoring key %s%s%s%s",
(event->state & GDK_CONTROL_MASK) ? "Control-" : "", (event->state & GDK_MOD1_MASK) ? "Alt-" : "",
@@ -2375,7 +2381,6 @@ gpointer launch_mplayer(gpointer data)
player->seekable = FALSE;
player->has_chapters = FALSE;
- player->video_present = FALSE;
player->position = 0.0;
player->cache_percent = -1.0;
player->title_is_menu = FALSE;
@@ -3379,7 +3384,9 @@ gboolean thread_reader(GIOChannel * source, GIOConditi
create_event_int(player, "media-state-changed", player->media_state);
allocation.width = player->video_width;
allocation.height = player->video_height;
- create_event_allocation(player, "size_allocate", &allocation);
+ if (player->video_present == FALSE) {
+ create_event_allocation(player, "size_allocate", &allocation);
+ }
player->video_present = TRUE;
buf = g_strdup_printf("set_property sub_visibility %i\n", player->sub_visible);
write_to_mplayer(player, buf);