2010/9/30 Cristian Morales Vega <[email protected]>:
> 2010/9/30 Cristian Morales Vega <[email protected]>:
>> In the "Developers" forum I badly copy&pasted these patches. I
>> resubmit them here to make them clearer since it seems some of them
>> didn't hit the CVS.
>
> A new one to solve the "/usr/share/pixmaps/gmerlin-player.png ->
> ../../src/packages/BUILDROOT/gmerlin-0.4.3-1.x86_64/usr/share/gmerlin/icons/player_icon.png"
> problem explained in the forum.
> Not perfect, but solves the problem and at least RPM removes the
> unneeded "../" automatically.
> It also install the icons in /usr/share/icons following the Icon Theme
> Specification.

And a new problem. There are multiple uses of GTK_WIDGET_SET_FLAGS,
but it is deprecated since GTK 2.22. In its place, since GTK 2.18,
there is gtk_widget_set_*().
And since 2.21.6 GtkNotebookPage is also deprecated.
Index: lib/gtk/gtkutils.c
===================================================================
--- lib/gtk/gtkutils.c.orig
+++ lib/gtk/gtkutils.c
@@ -465,7 +465,7 @@ GtkWidget * bg_gtk_get_toplevel(GtkWidge
     return (GtkWidget*)0;
   
   toplevel = gtk_widget_get_toplevel(w);
-  if(!GTK_WIDGET_TOPLEVEL (toplevel))
+  if(!bg_gtk_widget_is_toplevel(toplevel))
     toplevel = (GtkWidget*)0;
   return toplevel;
   }
@@ -508,3 +508,45 @@ GdkPixbuf * bg_gtk_pixbuf_from_frame(gav
   else
     return NULL;
   }
+
+int bg_gtk_widget_is_realized(GtkWidget * w)
+  {
+#if GTK_CHECK_VERSION(2,20,0)
+  return gtk_widget_get_realized(w);
+#else
+  return GTK_WIDGET_REALIZED(w);
+#endif
+  }
+
+int bg_gtk_widget_is_toplevel(GtkWidget * w)
+  {
+#if GTK_CHECK_VERSION(2,18,0)
+  return gtk_widget_is_toplevel(w);
+#else
+  return GTK_WIDGET_TOPLEVEL(w);
+#endif
+  }
+
+void bg_gtk_widget_set_can_default(GtkWidget *w, gboolean can_default)
+  {
+#if GTK_CHECK_VERSION(2,18,0)
+  gtk_widget_set_can_default(w, can_default);
+#else
+  if(can_default)
+    GTK_WIDGET_SET_FLAGS(w, GTK_CAN_DEFAULT);
+  else
+    GTK_WIDGET_UNSET_FLAGS(w, GTK_CAN_DEFAULT);
+#endif
+  }
+
+void bg_gtk_widget_set_can_focus(GtkWidget *w, gboolean can_focus)
+  {
+#if GTK_CHECK_VERSION(2,18,0)
+  gtk_widget_set_can_focus(w, can_focus);
+#else
+  if(can_focus)
+    GTK_WIDGET_SET_FLAGS(w, GTK_CAN_FOCUS);
+  else
+    GTK_WIDGET_UNSET_FLAGS(w, GTK_CAN_FOCUS);
+#endif
+  }
Index: lib/gtk/vumeter.c
===================================================================
--- lib/gtk/vumeter.c.orig
+++ lib/gtk/vumeter.c
@@ -687,7 +687,8 @@ static void draw_dynamic(bg_gtk_vumeter_
   {
   int i;
 
-  if(!GTK_WIDGET_REALIZED(m->layout) || !m->pixmap_width || !m->pixmap_height)
+  if(!bg_gtk_widget_is_realized(m->layout) ||
+     !m->pixmap_width || !m->pixmap_height)
     return;
   
   if(!m->pixmaps_valid)
Index: lib/gtk/auth.c
===================================================================
--- lib/gtk/auth.c.orig
+++ lib/gtk/auth.c
@@ -80,8 +80,8 @@ static userpass_win * userpass_win_creat
   ret->ok_button = gtk_button_new_from_stock(GTK_STOCK_OK);
   ret->cancel_button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
 
-  GTK_WIDGET_SET_FLAGS(ret->ok_button, GTK_CAN_DEFAULT);
-  GTK_WIDGET_SET_FLAGS(ret->cancel_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(ret->ok_button, TRUE);
+  bg_gtk_widget_set_can_default(ret->cancel_button, TRUE);
   
   g_signal_connect(G_OBJECT(ret->ok_button),
                    "clicked", G_CALLBACK(button_callback), ret);
Index: apps/visualizer/gmerlin_visualizer.c
===================================================================
--- apps/visualizer/gmerlin_visualizer.c.orig
+++ apps/visualizer/gmerlin_visualizer.c
@@ -387,7 +387,7 @@ static void grab_notify_callback(GtkWidg
   visualizer_t * win = (visualizer_t*)data;
   if(!was_grabbed)
     {
-    GTK_WIDGET_SET_FLAGS(win->current_window->socket, GTK_CAN_FOCUS);
+    bg_gtk_widget_set_can_focus(win->current_window->socket, TRUE);
     gtk_widget_grab_focus(win->current_window->socket);
     }
   }
@@ -457,7 +457,7 @@ static void plug_added_callback(GtkWidge
   gtk_widget_hide(v->toolbar);
   
   /* Seems that this is switched off, when an earlier client exited */
-  GTK_WIDGET_SET_FLAGS(w, GTK_CAN_FOCUS);
+  bg_gtk_widget_set_can_focus(w, TRUE);
   gtk_widget_grab_focus(w);
   }
 
Index: lib/gtk/cfg_dialog.c
===================================================================
--- lib/gtk/cfg_dialog.c.orig
+++ lib/gtk/cfg_dialog.c
@@ -398,9 +398,9 @@ static bg_dialog_t * create_dialog(const
   ret->close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
   ret->ok_button    = gtk_button_new_from_stock(GTK_STOCK_OK);
 
-  GTK_WIDGET_SET_FLAGS(ret->apply_button, GTK_CAN_DEFAULT);
-  GTK_WIDGET_SET_FLAGS(ret->close_button, GTK_CAN_DEFAULT);
-  GTK_WIDGET_SET_FLAGS(ret->ok_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(ret->apply_button, TRUE);
+  bg_gtk_widget_set_can_default(ret->close_button, TRUE);
+  bg_gtk_widget_set_can_default(ret->ok_button, TRUE);
   
   gtk_window_set_modal(GTK_WINDOW(ret->window), TRUE);
   
@@ -413,9 +413,9 @@ static bg_dialog_t * create_dialog(const
   g_signal_connect(G_OBJECT(ret->window), "delete_event",
                      G_CALLBACK(delete_callback), (gpointer)ret);
 
-  GTK_WIDGET_SET_FLAGS (ret->close_button, GTK_CAN_DEFAULT);
-  GTK_WIDGET_SET_FLAGS (ret->apply_button, GTK_CAN_DEFAULT);
-  GTK_WIDGET_SET_FLAGS (ret->ok_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(ret->close_button, TRUE);
+  bg_gtk_widget_set_can_default(ret->apply_button, TRUE);
+  bg_gtk_widget_set_can_default(ret->ok_button, TRUE);
   
   gtk_widget_show(ret->apply_button);
   gtk_widget_show(ret->close_button);
Index: lib/gtk/driveselect.c
===================================================================
--- lib/gtk/driveselect.c.orig
+++ lib/gtk/driveselect.c
@@ -192,8 +192,8 @@ bg_gtk_drivesel_create(const char * titl
   ret->add_button = gtk_button_new_from_stock(GTK_STOCK_ADD);
   ret->close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
 
-  GTK_WIDGET_SET_FLAGS(ret->close_button, GTK_CAN_DEFAULT);
-  GTK_WIDGET_SET_FLAGS(ret->add_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(ret->close_button, TRUE);
+  bg_gtk_widget_set_can_default(ret->add_button, TRUE);
   
   /* Set callbacks */
 
Index: lib/gtk/message.c
===================================================================
--- lib/gtk/message.c.orig
+++ lib/gtk/message.c
@@ -86,7 +86,7 @@ void bg_gtk_message(const char * message
   gtk_window_set_modal(GTK_WINDOW(q->window), 1);
   gtk_window_set_title(GTK_WINDOW(q->window), TR("Message"));
   gtk_window_set_position(GTK_WINDOW(q->window), GTK_WIN_POS_CENTER_ON_PARENT);
-  GTK_WIDGET_SET_FLAGS (q->ok_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(q->ok_button, TRUE);
 
   gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER);
   
Index: lib/gtk/multiinfo.c
===================================================================
--- lib/gtk/multiinfo.c.orig
+++ lib/gtk/multiinfo.c
@@ -77,7 +77,7 @@ multiwindow_create(const char * title, c
   /* Create close button */
 
   ret->close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
-  GTK_WIDGET_SET_FLAGS(ret->close_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(ret->close_button, TRUE);
 
   g_signal_connect(G_OBJECT(ret->close_button), "clicked",
                    G_CALLBACK(button_callback), (gpointer)ret);
Index: lib/gtk/plugininfo.c
===================================================================
--- lib/gtk/plugininfo.c.orig
+++ lib/gtk/plugininfo.c
@@ -79,7 +79,7 @@ pluginwindow_create(const char * title,
   /* Create close button */
 
   ret->close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
-  GTK_WIDGET_SET_FLAGS(ret->close_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(ret->close_button, TRUE);
 
   g_signal_connect(G_OBJECT(ret->close_button), "clicked",
                    G_CALLBACK(button_callback), (gpointer)ret);
Index: lib/gtk/question.c
===================================================================
--- lib/gtk/question.c.orig
+++ lib/gtk/question.c
@@ -92,8 +92,8 @@ int bg_gtk_question(const char * questio
   gtk_window_set_modal(GTK_WINDOW(q->window), 1);
   gtk_window_set_title(GTK_WINDOW(q->window), TR("Question"));
   gtk_window_set_position(GTK_WINDOW(q->window), GTK_WIN_POS_CENTER_ON_PARENT);
-  GTK_WIDGET_SET_FLAGS (q->ok_button, GTK_CAN_DEFAULT);
-  GTK_WIDGET_SET_FLAGS (q->cancel_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(q->ok_button, TRUE);
+  bg_gtk_widget_set_can_default(q->cancel_button, TRUE);
 
   gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER);
   
Index: lib/gtk/textwindow.c
===================================================================
--- lib/gtk/textwindow.c.orig
+++ lib/gtk/textwindow.c
@@ -75,7 +75,7 @@ bg_gtk_textwindow_create(const char * te
   /* Create close button */
 
   ret->close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
-  GTK_WIDGET_SET_FLAGS(ret->close_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(ret->close_button, TRUE);
 
   g_signal_connect(G_OBJECT(ret->close_button), "clicked",
                    G_CALLBACK(button_callback), (gpointer)ret);
Index: lib/gtk/treewidget.c
===================================================================
--- lib/gtk/treewidget.c.orig
+++ lib/gtk/treewidget.c
@@ -1853,7 +1853,11 @@ static void tree_changed_callback(bg_med
 
   }
 
+#if GTK_CHECK_VERSION(2, 21, 6)
+static void notebook_change_page(GtkWidget * widget, gpointer page, int num, gpointer data)
+#else
 static void notebook_change_page(GtkWidget * widget, GtkNotebookPage *page, int num, gpointer data)
+#endif
   {
   bg_gtk_tree_widget_t * wid;
   bg_gtk_album_window_t * win;
Index: lib/gtk/urlselect.c
===================================================================
--- lib/gtk/urlselect.c.orig
+++ lib/gtk/urlselect.c
@@ -152,8 +152,8 @@ bg_gtk_urlsel_create(const char * title,
   ret->add_button = gtk_button_new_from_stock(GTK_STOCK_ADD);
   ret->close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
 
-  GTK_WIDGET_SET_FLAGS(ret->close_button, GTK_CAN_DEFAULT);
-  GTK_WIDGET_SET_FLAGS(ret->add_button, GTK_CAN_DEFAULT);
+  bg_gtk_widget_set_can_default(ret->close_button, TRUE);
+  bg_gtk_widget_set_can_default(ret->add_button, TRUE);
     
   /* Set callbacks */
 
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Gmerlin-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gmerlin-general

Reply via email to