summaryrefslogtreecommitdiff
path: root/recipes/gweled
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gweled')
-rw-r--r--recipes/gweled/gweled-0.5/de-gnome.patch659
-rw-r--r--recipes/gweled/gweled_0.5.bb11
2 files changed, 670 insertions, 0 deletions
diff --git a/recipes/gweled/gweled-0.5/de-gnome.patch b/recipes/gweled/gweled-0.5/de-gnome.patch
new file mode 100644
index 0000000000..5117633031
--- /dev/null
+++ b/recipes/gweled/gweled-0.5/de-gnome.patch
@@ -0,0 +1,659 @@
+diff -urNd ../gweled-0.5-r0/gweled-0.5/configure.in gweled-0.5/configure.in
+--- ../gweled-0.5-r0/gweled-0.5/configure.in 2004-01-22 20:14:23.000000000 +0000
++++ gweled-0.5/configure.in 2004-09-28 12:32:39.000000000 +0100
+@@ -10,7 +10,7 @@
+ AM_PROG_CC_STDC
+ AC_HEADER_STDC
+
+-pkg_modules="libglade-2.0,libgnomeui-2.0,librsvg-2.0"
++pkg_modules="gtk+-2.0 librsvg-2.0"
+ PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
+ AC_SUBST(PACKAGE_CFLAGS)
+ AC_SUBST(PACKAGE_LIBS)
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/board_engine.c gweled-0.5/src/board_engine.c
+--- ../gweled-0.5-r0/gweled-0.5/src/board_engine.c 2004-01-25 08:23:54.000000000 +0000
++++ gweled-0.5/src/board_engine.c 2004-09-28 15:56:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-#include <gnome.h>
++#include <gtk/gtk.h>
+
+ #include "sge_core.h"
+ #include "board_engine.h"
+@@ -512,7 +512,7 @@
+ if (gi_total_gems_removed <= gi_previous_bonus_at) {
+ gweled_draw_message ("time's up #");
+ gi_game_running = 0;
+- gnome_score_log ((gfloat) gi_score, "timed", TRUE);
++// gnome_score_log ((gfloat) gi_score, "timed", TRUE);
+ g_do_not_score = FALSE;
+ gi_state = _IDLE;
+ } else
+@@ -661,7 +661,7 @@
+ } else {
+ gweled_draw_message ("no moves left #");
+ gi_game_running = 0;
+- gnome_score_log ((gfloat) gi_score, "easy", TRUE);
++// gnome_score_log ((gfloat) gi_score, "easy", TRUE);
+ g_do_not_score = FALSE;
+ gi_state = _IDLE;
+ }
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/callbacks.c gweled-0.5/src/callbacks.c
+--- ../gweled-0.5-r0/gweled-0.5/src/callbacks.c 2004-01-21 17:25:34.000000000 +0000
++++ gweled-0.5/src/callbacks.c 2004-09-28 13:20:55.000000000 +0100
+@@ -2,8 +2,7 @@
+ # include <config.h>
+ #endif
+
+-#include <gnome.h>
+-#include <glade/glade.h>
++#include <gtk/gtk.h>
+
+ #include "callbacks.h"
+
+@@ -15,7 +14,7 @@
+ extern gint gi_score;
+ extern gboolean g_do_not_score;
+
+-extern GladeXML *gweled_xml;
++//extern GladeXML *gweled_xml;
+ extern GtkWidget *g_main_window;
+ extern GtkWidget *g_pref_window;
+ extern GtkWidget *g_score_window;
+@@ -29,7 +28,7 @@
+
+
+ void
+-on_new1_activate (GtkMenuItem * menuitem, gpointer user_data)
++on_new1_activate (GtkWidget * w, gpointer user_data)
+ {
+ GtkWidget *box;
+ gint response;
+@@ -39,7 +38,7 @@
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_YES_NO,
+- _("Do you really want to abort this game ?"));
++ "Do you really want to abort this game ?");
+
+ gtk_dialog_set_default_response (GTK_DIALOG (box),
+ GTK_RESPONSE_NO);
+@@ -54,7 +53,7 @@
+ gweled_draw_board ();
+ gweled_start_new_game ();
+ }
+-
++/*
+ void
+ on_scores1_activate (GtkMenuItem * menuitem, gpointer user_data)
+ {
+@@ -103,7 +102,7 @@
+ gtk_widget_destroy (box);
+ }
+ }
+-
++*/
+ void
+ on_quit1_activate (GtkMenuItem * menuitem, gpointer user_data)
+ {
+@@ -115,6 +114,7 @@
+ {
+ gtk_widget_show (g_pref_window);
+ }
++/*
+ void
+ on_about1_activate (GtkMenuItem * menuitem, gpointer user_data)
+ {
+@@ -152,7 +152,7 @@
+
+ gtk_widget_show(about);
+ }
+-
++*/
+ gboolean
+ drawing_area_expose_event_cb (GtkWidget * widget, GdkEventExpose * event, gpointer user_data)
+ {
+@@ -177,23 +177,28 @@
+ case GDK_BUTTON_PRESS:
+ x_press = event->x / gi_tile_width;
+ y_press = event->y / gi_tile_height;
+- if (gi_game_running) {
+- gi_x_click = x_press;
+- gi_y_click = y_press;
+- gi_gem_clicked = -1;
+- } else {
+- on_new1_activate (NULL, NULL);
++ if ((x_press <= BOARD_WIDTH) && (y_press <= BOARD_HEIGHT)) {
++ if (gi_game_running) {
++ gi_x_click = x_press;
++ gi_y_click = y_press;
++ gi_gem_clicked = -1;
++ } else {
++ on_new1_activate (NULL, NULL);
++ }
+ }
+ break;
+
+ case GDK_BUTTON_RELEASE:
+ x_release = event->x / gi_tile_width;
+ y_release = event->y / gi_tile_height;
+- if((x_press != x_release) || (y_press != y_release)) {
+- if (gi_game_running) {
+- gi_x_click = x_release;
+- gi_y_click = y_release;
+- gi_gem_clicked = -1;
++ if ((x_release <= BOARD_WIDTH) && (y_release <= BOARD_HEIGHT) &&
++ (x_press <= BOARD_WIDTH) && (y_press <= BOARD_HEIGHT)) {
++ if((x_press != x_release) || (y_press != y_release)) {
++ if (gi_game_running) {
++ gi_x_click = x_release;
++ gi_y_click = y_release;
++ gi_gem_clicked = -1;
++ }
+ }
+ }
+ break;
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/callbacks.h gweled-0.5/src/callbacks.h
+--- ../gweled-0.5-r0/gweled-0.5/src/callbacks.h 2003-11-05 21:01:08.000000000 +0000
++++ gweled-0.5/src/callbacks.h 2004-09-28 11:26:44.000000000 +0100
+@@ -1,8 +1,8 @@
+-#include <gnome.h>
++#include <gtk/gtk.h>
+
+
+ void
+-on_new1_activate (GtkMenuItem *menuitem,
++on_new1_activate (GtkWidget *w,
+ gpointer user_data);
+
+ void
+@@ -35,7 +35,7 @@
+ gpointer user_data);
+
+ gboolean
+-drawing_area_button_press_event_cb (GtkWidget *widget,
++drawing_area_button_event_cb (GtkWidget *widget,
+ GdkEventButton *event,
+ gpointer user_data);
+
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/graphic_engine.c gweled-0.5/src/graphic_engine.c
+--- ../gweled-0.5-r0/gweled-0.5/src/graphic_engine.c 2004-01-22 22:09:05.000000000 +0000
++++ gweled-0.5/src/graphic_engine.c 2004-09-28 15:56:00.000000000 +0100
+@@ -1,9 +1,13 @@
+-#include <gnome.h>
++#include <gtk/gtk.h>
+ #include "sge_core.h"
+ #include "sge_utils.h"
+
+ #include "graphic_engine.h"
+
++#ifndef PREFIX
++#define PREFIX "/usr/local/"
++#endif
++
+ extern gi_game_running;
+ extern gchar gpc_game_board[BOARD_WIDTH][BOARD_HEIGHT];
+ extern GRand *g_random_generator;
+@@ -11,7 +15,7 @@
+ extern GtkWidget *g_drawing_area;
+ extern GdkPixmap *g_buffer_pixmap;
+ extern T_SGEObject *g_gem_objects[BOARD_WIDTH][BOARD_HEIGHT];
+-extern GnomeProgram *g_program;
++//extern GnomeProgram *g_program;
+ signed char gpc_font_glyphs[256];
+ gint gi_tiles_bg_pixbuf[2];
+ gint gi_gems_pixbuf[7];
+@@ -29,7 +33,7 @@
+ int i;
+
+ pixbuf =
+- sge_load_file_to_pixbuf (g_program, "gweled/font_24_20.png");
++ sge_load_file_to_pixbuf (PREFIX "/share/pixmaps/" "gweled/font_24_20.png");
+ if (pixbuf) {
+ for (i = 0; i < 50; i++)
+ gi_charset_pixbuf[i] =
+@@ -49,9 +53,9 @@
+ int i;
+
+ for (i = 0; i < 7; i++) {
+- filename = g_strdup_printf ("gweled/gem%02d.svg", i + 1);
++ filename = g_strdup_printf (PREFIX "/share/pixmaps/" "gweled/gem%02d.svg", i + 1);
+ pixbuf =
+- sge_load_svg_to_pixbuf (g_program, filename,
++ sge_load_svg_to_pixbuf (filename,
+ gi_tile_width, gi_tile_height);
+ if (pixbuf == NULL)
+ exit (-1);
+@@ -61,21 +65,21 @@
+ }
+
+ pixbuf =
+- sge_load_svg_to_pixbuf (g_program, "gweled/tile_odd.svg",
++ sge_load_svg_to_pixbuf (PREFIX "/share/pixmaps/" "gweled/tile_odd.svg",
+ gi_tile_width, gi_tile_height);
+ if (pixbuf == NULL)
+ exit (-1);
+ gi_tiles_bg_pixbuf[0] = sge_register_pixbuf (pixbuf, -1);
+
+ pixbuf =
+- sge_load_svg_to_pixbuf (g_program, "gweled/tile_even.svg",
++ sge_load_svg_to_pixbuf (PREFIX "/share/pixmaps/" "gweled/tile_even.svg",
+ gi_tile_width, gi_tile_height);
+ if (pixbuf == NULL)
+ exit (-1);
+ gi_tiles_bg_pixbuf[1] = sge_register_pixbuf (pixbuf, -1);
+
+ pixbuf =
+- sge_load_svg_to_pixbuf (g_program, "gweled/cursor.svg",
++ sge_load_svg_to_pixbuf (PREFIX "/share/pixmaps/" "gweled/cursor.svg",
+ gi_tile_width, gi_tile_height);
+ if (pixbuf == NULL)
+ exit (-1);
+@@ -91,9 +95,9 @@
+ int i;
+
+ for (i = 0; i < 7; i++) {
+- filename = g_strdup_printf ("gweled/gem%02d.svg", i + 1);
++ filename = g_strdup_printf (PREFIX "/share/pixmaps/" "gweled/gem%02d.svg", i + 1);
+ pixbuf =
+- sge_load_svg_to_pixbuf (g_program, filename,
++ sge_load_svg_to_pixbuf (filename,
+ gi_tile_width, gi_tile_height);
+ if (pixbuf == NULL)
+ exit (-1);
+@@ -103,21 +107,21 @@
+ }
+
+ pixbuf =
+- sge_load_svg_to_pixbuf (g_program, "gweled/tile_odd.svg",
++ sge_load_svg_to_pixbuf (PREFIX "/share/pixmaps/" "gweled/tile_odd.svg",
+ gi_tile_width, gi_tile_height);
+ if (pixbuf == NULL)
+ exit (-1);
+ sge_register_pixbuf (pixbuf, gi_tiles_bg_pixbuf[0]);
+
+ pixbuf =
+- sge_load_svg_to_pixbuf (g_program, "gweled/tile_even.svg",
++ sge_load_svg_to_pixbuf (PREFIX "/share/pixmaps/" "gweled/tile_even.svg",
+ gi_tile_width, gi_tile_height);
+ if (pixbuf == NULL)
+ exit (-1);
+ sge_register_pixbuf (pixbuf, gi_tiles_bg_pixbuf[1]);
+
+ pixbuf =
+- sge_load_svg_to_pixbuf (g_program, "gweled/cursor.svg",
++ sge_load_svg_to_pixbuf (PREFIX "/share/pixmaps/" "gweled/cursor.svg",
+ gi_tile_width, gi_tile_height);
+ if (pixbuf == NULL)
+ exit (-1);
+@@ -258,10 +262,10 @@
+ gweled_gems_fall_into_place (void)
+ {
+ gint i, j;
+- for (i = 0; i < BOARD_WIDTH; i++)
+- for (j = 0; j < BOARD_HEIGHT; j++)
+- sge_object_fall_to (g_gem_objects[i][j],
+- j * gi_tile_height);
++ for (i = 0; i < BOARD_WIDTH; i++)
++ for (j = 0; j < BOARD_HEIGHT; j++)
++ sge_object_fall_to (g_gem_objects[i][j],
++ j * gi_tile_height);
+ }
+
+
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/main.c gweled-0.5/src/main.c
+--- ../gweled-0.5-r0/gweled-0.5/src/main.c 2004-01-22 20:16:10.000000000 +0000
++++ gweled-0.5/src/main.c 2004-10-13 10:17:43.000000000 +0100
+@@ -25,19 +25,22 @@
+ # include <config.h>
+ #endif
+
+-#include <gnome.h>
+-#include <glade/glade.h>
++#include <gtk/gtk.h>
+
++#include "callbacks.h"
+ #include "sge_core.h"
+ #include "board_engine.h"
+ #include "graphic_engine.h"
+
+ // GLOBALS
+-GnomeProgram *g_program;
+-GladeXML *gweled_xml;
++//GnomeProgram *g_program;
++//GladeXML *gweled_xml;
+ GtkWidget *g_main_window;
++GtkWidget *g_toolbar;
+ GtkWidget *g_pref_window;
+ GtkWidget *g_score_window;
++GtkWidget *button;
++GtkWidget *vbox, *hbox;
+
+ GtkWidget *g_drawing_area;
+ GtkWidget *g_progress_bar;
+@@ -45,7 +48,7 @@
+ GtkWidget *g_bonus_label;
+ GdkPixmap *g_buffer_pixmap = NULL;
+ GRand *g_random_generator;
+-
++/*
+ void init_pref_window(void)
+ {
+ GtkWidget *radio_button = NULL;
+@@ -56,13 +59,13 @@
+ radio_button = glade_xml_get_widget(gweled_xml, "hardRadiobutton");
+ if (radio_button)
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(radio_button), TRUE);
+-
++*/
+ /* radio_button = glade_xml_get_widget(gweled_xml, "easyRadiobutton");
+ gtk_widget_set_state (radio_button, GTK_STATE_INSENSITIVE);
+ radio_button = glade_xml_get_widget(gweled_xml, "hardRadiobutton");
+ gtk_widget_set_state (radio_button, GTK_STATE_INSENSITIVE);
+ */
+- radio_button = NULL;
++/* radio_button = NULL;
+ switch (gi_tile_width) {
+ case 32:
+ radio_button = glade_xml_get_widget(gweled_xml, "smallRadiobutton");
+@@ -75,47 +78,147 @@
+ break;
+ }
+ if (radio_button)
+- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(radio_button), TRUE);
+-}
++ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(radio_button), TRUE);*/
++/*}*/
+
+ int
+ main (int argc, char **argv)
+ {
+ guint board_engine_id;
+
+- gnome_score_init ("gweled");
+-
+- g_program =
+- gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc,
+- argv, GNOME_PARAM_APP_DATADIR,
+- PACKAGE_DATA_DIR, NULL);
++ gtk_init (&argc, &argv);
++// exit (1);
++// gnome_score_init ("gweled");
+
+ sge_init ();
+
+ g_random_generator = g_rand_new_with_seed (time (NULL));
+
+ // let's do that before calling init_pref_window
+- gi_tile_width = 48;
+- gi_tile_height = 48;
+- gweled_in_timer_mode = FALSE;
++ gi_tile_width = 26; // This should be calculated via window-size... But for now, hard-code it for 240x320 PDAs
++ gi_tile_height = 26;
++ gweled_in_timer_mode = TRUE; // Let's default to a timed game too :)
+
+- gweled_xml = glade_xml_new(PACKAGE_DATA_DIR "/gweled/gweled.glade", NULL, NULL);
+- g_pref_window = glade_xml_get_widget(gweled_xml, "preferencesDialog");
++// gweled_xml = glade_xml_new(PACKAGE_DATA_DIR "/gweled/gweled.glade", NULL, NULL);
++
++// Configure main window
++ g_main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
++ gtk_window_set_title (GTK_WINDOW (g_main_window), "Gweled");
++ vbox = gtk_vbox_new (FALSE, 0);
++ hbox = gtk_hbox_new (FALSE, 0);
++
++ g_toolbar = gtk_toolbar_new ();
++ gtk_window_set_default_size (GTK_WINDOW (g_main_window), 240, 300);
++ gtk_toolbar_set_style (GTK_TOOLBAR (g_toolbar), GTK_TOOLBAR_ICONS);
++
++// Populate tool-bar
++ gtk_toolbar_insert_stock (GTK_TOOLBAR (g_toolbar), GTK_STOCK_NEW,
++ "New game", "Tap here to start a new game.",
++ G_CALLBACK (on_new1_activate), NULL, -1);
++ gtk_toolbar_insert_stock (GTK_TOOLBAR (g_toolbar), GTK_STOCK_PROPERTIES,
++ "Preferences", "Tap here to configure Gweled.",
++ G_CALLBACK (on_preferences1_activate), NULL, -1);
++ gtk_toolbar_insert_stock (GTK_TOOLBAR (g_toolbar), GTK_STOCK_QUIT,
++ "Quit", "Tap here to quit the game.",
++ G_CALLBACK (on_quit1_activate), NULL, -1);
++ g_signal_connect (G_OBJECT (g_main_window), "destroy",
++ G_CALLBACK (on_quit1_activate), NULL);
++
++// Score label
++ g_score_label = gtk_label_new (NULL);
++ gtk_label_set_markup (g_score_label, "<span weight=\"bold\">000000</span>");
++ gtk_label_set_justify (g_score_label, GTK_JUSTIFY_RIGHT);
++ gtk_label_set_line_wrap (g_score_label, FALSE);
++ gtk_label_set_selectable (g_score_label, FALSE);
++
++// Drawing area
++ g_drawing_area = gtk_drawing_area_new ();
++ g_signal_connect (G_OBJECT (g_drawing_area), "expose_event",
++ G_CALLBACK (drawing_area_expose_event_cb), NULL);
++ g_signal_connect (G_OBJECT (g_drawing_area), "button_press_event",
++ G_CALLBACK (drawing_area_button_event_cb), NULL);
++ g_signal_connect (G_OBJECT (g_drawing_area), "button_release_event",
++ G_CALLBACK (drawing_area_button_event_cb), NULL);
++
++// Progress bar
++ g_progress_bar = gtk_progress_bar_new ();
++ gtk_progress_bar_set_orientation (g_progress_bar, GTK_PROGRESS_LEFT_TO_RIGHT);
++ gtk_progress_bar_set_fraction (g_progress_bar, 0);
++ gtk_progress_bar_set_pulse_step (g_progress_bar, 0.1);
++
++// Bonus label
++ g_bonus_label = gtk_label_new (NULL);
++ gtk_label_set_markup (g_bonus_label, "<span weight=\"bold\">x1</span>");
++ gtk_label_set_use_markup (g_bonus_label, TRUE);
++ gtk_label_set_justify (g_bonus_label, GTK_JUSTIFY_RIGHT);
++ gtk_label_set_line_wrap (g_bonus_label, FALSE);
++ gtk_label_set_selectable (g_bonus_label, FALSE);
++
++// Add components to vbox/hbox and window
++ gtk_container_add (GTK_CONTAINER (g_main_window), GTK_WIDGET (vbox));
++ gtk_box_pack_start (GTK_BOX (vbox), g_toolbar, FALSE, FALSE, 0);
++ gtk_box_pack_start (GTK_BOX (vbox), g_score_label, FALSE, FALSE, 0);
++ gtk_box_pack_start (GTK_BOX (vbox), g_drawing_area, TRUE, FALSE, 0);
++ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
++ gtk_box_pack_start (GTK_BOX (hbox), g_progress_bar, TRUE, TRUE, 0);
++ gtk_box_pack_start (GTK_BOX (hbox), g_bonus_label, FALSE, FALSE, 0);
++ gtk_widget_show (vbox);
++ gtk_widget_show (g_toolbar);
++ gtk_widget_show (g_score_label);
++ gtk_widget_show (g_drawing_area);
++ gtk_widget_show (hbox);
++ gtk_widget_show (g_progress_bar);
++ gtk_widget_show (g_bonus_label);
++
++// Who needs glade? :)
++/* g_pref_window = glade_xml_get_widget(gweled_xml, "preferencesDialog");
+ g_main_window = glade_xml_get_widget(gweled_xml, "gweledApp");
+ g_score_window = glade_xml_get_widget(gweled_xml, "highscoresDialog");
+ g_progress_bar = glade_xml_get_widget(gweled_xml, "bonusProgressbar");
+ g_score_label = glade_xml_get_widget(gweled_xml, "scoreLabel");
+ g_bonus_label = glade_xml_get_widget(gweled_xml, "bonusLabel");
+- g_drawing_area = glade_xml_get_widget(gweled_xml, "boardDrawingarea");
++ g_drawing_area = glade_xml_get_widget(gweled_xml, "boardDrawingarea");*/
+
+- init_pref_window();
++// Configure preferences window
++ g_pref_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
++ gtk_window_set_title (g_pref_window, "Preferences");
++ gtk_window_set_transient_for (g_pref_window, g_main_window);
++ gtk_window_set_position (g_pref_window, GTK_WIN_POS_CENTER_ON_PARENT);
++ vbox = gtk_vbox_new (TRUE, 0);
+
+- glade_xml_signal_autoconnect(gweled_xml);
++ button = gtk_radio_button_new_with_label (NULL, "Normal");
++ gtk_signal_connect (GTK_OBJECT (button), "clicked",
++ GTK_SIGNAL_FUNC (on_easyRadiobutton_toggled), NULL);
++ gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
++ gtk_widget_show (button);
++
++ GSList *radio_group = gtk_radio_button_get_group (button);
++ button = gtk_radio_button_new_with_label (NULL, "Timed");
++ gtk_signal_connect (GTK_OBJECT (button), "clicked",
++ GTK_SIGNAL_FUNC (on_hardRadiobutton_toggled), NULL);
++ gtk_radio_button_set_group (GTK_RADIO_BUTTON (button), radio_group);
++ if (gweled_in_timer_mode == TRUE)
++ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
++ gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
++ gtk_widget_show (button);
++
++ button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
++ gtk_signal_connect (GTK_OBJECT (button), "clicked",
++ GTK_SIGNAL_FUNC (on_closebutton1_clicked), NULL);
++ gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
++ gtk_widget_show (button);
++
++ gtk_container_add (GTK_CONTAINER (g_pref_window), vbox);
++ gtk_widget_show (vbox);
++
++// init_pref_window();
++
++// glade_xml_signal_autoconnect(gweled_xml);
+
+ gtk_widget_add_events (GTK_WIDGET (g_drawing_area),
+ GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK);
+
+- gtk_window_set_resizable (GTK_WINDOW (g_main_window), FALSE);
++// gtk_window_set_resizable (GTK_WINDOW (g_main_window), FALSE);
+ gtk_widget_show (g_main_window);
+
+ gtk_widget_set_size_request (GTK_WIDGET (g_drawing_area),
+@@ -133,7 +236,7 @@
+
+ gi_game_running = 0;
+
+- board_engine_id = gtk_timeout_add (100, board_engine_loop, NULL);
++ board_engine_id = g_timeout_add_full (G_PRIORITY_HIGH, 100, board_engine_loop, NULL, NULL);
+ sge_set_drawing_area (g_drawing_area, g_buffer_pixmap,
+ BOARD_WIDTH * gi_tile_width,
+ BOARD_HEIGHT * gi_tile_height);
+@@ -144,9 +247,9 @@
+ gtk_main ();
+
+ sge_destroy ();
+- gtk_timeout_remove (board_engine_id);
++ g_source_remove (board_engine_id);
+ g_rand_free (g_random_generator);
+- g_object_unref(G_OBJECT(gweled_xml));
++// g_object_unref(G_OBJECT(gweled_xml));
+
+ return 0;
+ }
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/Makefile.am gweled-0.5/src/Makefile.am
+--- ../gweled-0.5-r0/gweled-0.5/src/Makefile.am 2003-12-11 21:34:19.000000000 +0000
++++ gweled-0.5/src/Makefile.am 2004-09-28 12:30:51.000000000 +0100
+@@ -3,6 +3,7 @@
+ INCLUDES = \
+ -DPACKAGE_DATA_DIR=\""$(datadir)"\" \
+ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
++ -DPREFIX=\""$(prefix)"\" \
+ @PACKAGE_CFLAGS@
+
+ bin_PROGRAMS = gweled
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/sge_core.c gweled-0.5/src/sge_core.c
+--- ../gweled-0.5-r0/gweled-0.5/src/sge_core.c 2004-01-22 22:10:40.000000000 +0000
++++ gweled-0.5/src/sge_core.c 2004-10-13 10:20:45.000000000 +0100
+@@ -18,11 +18,11 @@
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+-#include <gnome.h>
++#include <gtk/gtk.h>
+ #include <math.h>
+ #include "sge_core.h"
+
+-#define ACCELERATION 1.0
++#define ACCELERATION 2.0
+
+ // LOCAL FUNCTIONS
+ void invalidate_objects_above (T_SGEObject * object);
+@@ -128,7 +128,7 @@
+ sge_init (void)
+ {
+ g_rand_generator = g_rand_new_with_seed (time (NULL));
+- g_main_loop_id = gtk_timeout_add (20, sge_main_loop, NULL);
++ g_main_loop_id = g_timeout_add (50, sge_main_loop, NULL);
+ gi_nb_pixbufs = 0;
+ g_pixbufs = NULL;
+ }
+@@ -174,7 +174,7 @@
+ {
+ int i;
+
+- gtk_timeout_remove (g_main_loop_id);
++ g_source_remove (g_main_loop_id);
+ g_rand_free (g_rand_generator);
+ for (i = 0; i < gi_nb_pixbufs; i++)
+ gdk_pixbuf_unref (g_pixbufs[i]);
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/sge_utils.c gweled-0.5/src/sge_utils.c
+--- ../gweled-0.5-r0/gweled-0.5/src/sge_utils.c 2003-12-07 19:28:57.000000000 +0000
++++ gweled-0.5/src/sge_utils.c 2004-09-28 11:20:54.000000000 +0100
+@@ -1,47 +1,30 @@
+-#include <gnome.h>
++#include <gtk/gtk.h>
+ #include <librsvg/rsvg.h>
+
+ #include "sge_utils.h"
+
+ GdkPixbuf *
+-sge_load_svg_to_pixbuf (GnomeProgram * program, char *filename, int width,
+- int height)
++sge_load_svg_to_pixbuf (char *filename, int width, int height)
+ {
+- gchar *full_pathname;
+ GdkPixbuf *pixbuf = NULL;
+ GError *error;
+
+- full_pathname = gnome_program_locate_file (program,
+- GNOME_FILE_DOMAIN_APP_PIXMAP,
+- filename, TRUE, NULL);
+- if (full_pathname) {
+- pixbuf =
+- rsvg_pixbuf_from_file_at_size (full_pathname, width,
+- height, &error);
+- g_free (full_pathname);
+- if (pixbuf == NULL) {
+- g_free (error);
+- }
+- } else
+- printf ("%s not found\n", filename);
++ pixbuf =
++ rsvg_pixbuf_from_file_at_size (filename, width,
++ height, &error);
++ if (pixbuf == NULL) {
++ g_free (error);
++ }
+
+ return pixbuf;
+ }
+
+ GdkPixbuf *
+-sge_load_file_to_pixbuf (GnomeProgram * program, char *filename)
++sge_load_file_to_pixbuf (char *filename)
+ {
+- gchar *full_pathname;
+ GdkPixbuf *pixbuf = NULL;
+
+- full_pathname = gnome_program_locate_file (program,
+- GNOME_FILE_DOMAIN_APP_PIXMAP,
+- filename, TRUE, NULL);
+- if (full_pathname) {
+- pixbuf = gdk_pixbuf_new_from_file (full_pathname, NULL);
+- g_free (full_pathname);
+- } else
+- printf ("%s not found\n", filename);
++ pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
+
+ return pixbuf;
+ }
+diff -urNd ../gweled-0.5-r0/gweled-0.5/src/sge_utils.h gweled-0.5/src/sge_utils.h
+--- ../gweled-0.5-r0/gweled-0.5/src/sge_utils.h 2003-11-05 20:31:27.000000000 +0000
++++ gweled-0.5/src/sge_utils.h 2004-09-28 11:14:27.000000000 +0100
+@@ -1,3 +1,3 @@
+
+-GdkPixbuf *sge_load_file_to_pixbuf(GnomeProgram *program, char *filename);
+-GdkPixbuf *sge_load_svg_to_pixbuf(GnomeProgram *program, char *filename, int width, int height);
++GdkPixbuf *sge_load_file_to_pixbuf(char *filename);
++GdkPixbuf *sge_load_svg_to_pixbuf(char *filename, int width, int height);
diff --git a/recipes/gweled/gweled_0.5.bb b/recipes/gweled/gweled_0.5.bb
new file mode 100644
index 0000000000..0843bb30ee
--- /dev/null
+++ b/recipes/gweled/gweled_0.5.bb
@@ -0,0 +1,11 @@
+LICENSE = "GPL"
+inherit autotools
+SECTION = "x11/games"
+DESCRIPTION = "Clone of Bejeweled for Gnome, modified for GPE."
+DEPENDS = "gtk+ librsvg"
+PRIORITY = "optional"
+
+SRC_URI = "http://sebdelestaing.free.fr/gweled/Release/gweled-0.5.tar.gz \
+ file://de-gnome.patch;patch=1"
+
+EXTRA_OECONF = " --disable-setgid --prefix=/usr"