<URL: http://bugs.freeciv.org/Ticket/Display.html?id=37801 >
On 3/9/07, Marko Lindqvist <[EMAIL PROTECTED]> wrote: > Even when we are looking in to some report, cursor is selected as if > map canvas is visible. This problem is easiest to reproduce in editor > mode where cursor is CURSOR_INVALID most of the time. > Fix attached. - Compiler warnings fixed - ML
diff -Nurd -X.diff_ignore freeciv/client/gui-gtk-2.0/gui_main.c freeciv/client/gui-gtk-2.0/gui_main.c --- freeciv/client/gui-gtk-2.0/gui_main.c 2007-03-05 21:11:59.000000000 +0200 +++ freeciv/client/gui-gtk-2.0/gui_main.c 2007-03-10 21:10:33.000000000 +0200 @@ -100,6 +100,7 @@ GtkWidget *toplevel_tabs; GtkWidget *top_vbox; GtkWidget *top_notebook, *bottom_notebook; +GtkWidget *map_widget; int city_names_font_size = 0, city_productions_font_size = 0; PangoFontDescription *main_font; @@ -1107,13 +1108,13 @@ /* Map canvas and scrollbars */ - table = gtk_table_new(2, 2, FALSE); + map_widget = gtk_table_new(2, 2, FALSE); label = gtk_label_new_with_mnemonic(_("_Map")); - gtk_notebook_append_page(GTK_NOTEBOOK(top_notebook), table, label); + gtk_notebook_append_page(GTK_NOTEBOOK(top_notebook), map_widget, label); frame = gtk_frame_new(NULL); - gtk_table_attach(GTK_TABLE(table), frame, 0, 1, 0, 1, + gtk_table_attach(GTK_TABLE(map_widget), frame, 0, 1, 0, 1, GTK_EXPAND|GTK_SHRINK|GTK_FILL, GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0); @@ -1137,11 +1138,11 @@ gtk_container_add(GTK_CONTAINER(frame), map_canvas); map_horizontal_scrollbar = gtk_hscrollbar_new(NULL); - gtk_table_attach(GTK_TABLE(table), map_horizontal_scrollbar, 0, 1, 1, 2, + gtk_table_attach(GTK_TABLE(map_widget), map_horizontal_scrollbar, 0, 1, 1, 2, GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); map_vertical_scrollbar = gtk_vscrollbar_new(NULL); - gtk_table_attach(GTK_TABLE(table), map_vertical_scrollbar, 1, 2, 0, 1, + gtk_table_attach(GTK_TABLE(map_widget), map_vertical_scrollbar, 1, 2, 0, 1, 0, GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0); g_signal_connect(map_canvas, "expose_event", diff -Nurd -X.diff_ignore freeciv/client/gui-gtk-2.0/gui_main.h freeciv/client/gui-gtk-2.0/gui_main.h --- freeciv/client/gui-gtk-2.0/gui_main.h 2007-03-05 21:11:59.000000000 +0200 +++ freeciv/client/gui-gtk-2.0/gui_main.h 2007-03-10 21:10:33.000000000 +0200 @@ -69,6 +69,7 @@ extern GtkWidget * toplevel_tabs; extern GtkWidget * top_notebook; +extern GtkWidget * map_widget; extern GtkWidget * bottom_notebook; extern GtkTextBuffer * message_buffer; extern GtkTreeStore *conn_model; diff -Nurd -X.diff_ignore freeciv/client/gui-gtk-2.0/mapctrl.c freeciv/client/gui-gtk-2.0/mapctrl.c --- freeciv/client/gui-gtk-2.0/mapctrl.c 2007-03-05 21:11:59.000000000 +0200 +++ freeciv/client/gui-gtk-2.0/mapctrl.c 2007-03-10 21:14:03.000000000 +0200 @@ -395,6 +395,13 @@ struct unit_list *active_units = get_units_in_focus(); int canvas_x, canvas_y; + if (gtk_notebook_get_current_page(GTK_NOTEBOOK(top_notebook)) + != gtk_notebook_page_num(GTK_NOTEBOOK(top_notebook), map_widget)) { + /* Map is not currently topmost tab. Do not use tile specific cursors. */ + update_mouse_cursor(CURSOR_DEFAULT); + return TRUE; + } + /* Bizarrely, this function can be called even when we don't "leave" * the map canvas, for instance, it gets called any time the mouse is * clicked. */
_______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev