gnome-mud r737 - in trunk: . src
- From: lharris svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-mud r737 - in trunk: . src
- Date: Tue, 17 Feb 2009 05:46:16 +0000 (UTC)
Author: lharris
Date: Tue Feb 17 05:46:16 2009
New Revision: 737
URL: http://svn.gnome.org/viewvc/gnome-mud?rev=737&view=rev
Log:
Now properly notifies all views of NAWS changes. No longer attempts to send NAWS to unconnected view.
Modified:
trunk/ChangeLog
trunk/src/mud-connection-view.c
trunk/src/mud-window.c
Modified: trunk/src/mud-connection-view.c
==============================================================================
--- trunk/src/mud-connection-view.c (original)
+++ trunk/src/mud-connection-view.c Tue Feb 17 05:46:16 2009
@@ -460,18 +460,21 @@
#ifdef ENABLE_GST
if(connection_view->priv->download_queue
- && !g_queue_is_empty(connection_view->priv->download_queue))
- while(
- (item = (MudMSPDownloadItem *)g_queue_pop_head(
- connection_view->priv->download_queue)) != NULL)
- mud_telnet_msp_download_item_free(item);
+ && !g_queue_is_empty(connection_view->priv->download_queue))
+ while((item = (MudMSPDownloadItem *)
+ g_queue_pop_head(connection_view->priv->download_queue)) != NULL)
+ mud_telnet_msp_download_item_free(item);
-if(connection_view->priv->download_queue)
- g_queue_free(connection_view->priv->download_queue);
+ if(connection_view->priv->download_queue)
+ g_queue_free(connection_view->priv->download_queue);
#endif
- gnet_conn_disconnect(connection_view->connection);
- gnet_conn_unref(connection_view->connection);
+ if(connection_view->connection &&
+ gnet_conn_is_connected(connection_view->connection))
+ gnet_conn_disconnect(connection_view->connection);
+
+ if(connection_view->connection)
+ gnet_conn_unref(connection_view->connection);
g_free(connection_view->priv);
@@ -1163,7 +1166,9 @@
void
mud_connection_view_send_naws(MudConnectionView *view)
{
- if(view && view->naws_enabled)
+ if(view && view->connection
+ && gnet_conn_is_connected(view->connection)
+ && view->naws_enabled)
{
guint curr_width = VTE_TERMINAL(view->priv->terminal)->column_count;
guint curr_height = VTE_TERMINAL(view->priv->terminal)->row_count;
Modified: trunk/src/mud-window.c
==============================================================================
--- trunk/src/mud-window.c (original)
+++ trunk/src/mud-window.c Tue Feb 17 05:46:16 2009
@@ -342,11 +342,16 @@
{
gchar *name;
- window->priv->current_view = g_object_get_data(G_OBJECT(gtk_notebook_get_nth_page(notebook, arg)), "connection-view");
+ window->priv->current_view =
+ g_object_get_data(
+ G_OBJECT(gtk_notebook_get_nth_page(notebook, arg)),
+ "connection-view");
if (window->priv->nr_of_tabs != 0)
{
- name = mud_profile_get_name(mud_connection_view_get_current_profile(MUD_CONNECTION_VIEW(window->priv->current_view)));
+ name = mud_profile_get_name(
+ mud_connection_view_get_current_profile(
+ MUD_CONNECTION_VIEW(window->priv->current_view)));
mud_window_profile_menu_set_active(name, window);
@@ -439,7 +444,7 @@
gboolean
mud_window_size_request(GtkWidget *widget, GdkEventConfigure *event, gpointer user_data)
{
- gint w, h;
+ gint w, h, i, n;
GdkPixbuf *buf;
GError *gerr = NULL;
MudWindow *window = (MudWindow *)user_data;
@@ -457,8 +462,19 @@
gtk_widget_grab_focus(window->priv->textview);
- // FIXME: Should send naws to all views.
- mud_connection_view_send_naws(MUD_CONNECTION_VIEW(window->priv->current_view));
+ n = gtk_notebook_get_n_pages(GTK_NOTEBOOK(window->priv->notebook));
+
+ for(i = 0; i < n; ++i)
+ {
+ MudConnectionView *iter =
+ g_object_get_data(
+ G_OBJECT(
+ gtk_notebook_get_nth_page(
+ GTK_NOTEBOOK(window->priv->notebook),
+ i)),
+ "connection-view");
+ mud_connection_view_send_naws(iter);
+ }
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]