[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-cvs: pcb.git: branch: master updated (1bed1e3cadae8910ceb3a2b08c7a8248e8a95f93)



The branch, master has been updated
       via  1bed1e3cadae8910ceb3a2b08c7a8248e8a95f93 (commit)
      from  72c69958ada7b07057bf210e0ee6f2d1b2d648f1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


=========
 Summary
=========

 src/hid/gtk/gtkhid-gdk.c     |    7 +++++++
 src/hid/gtk/gtkhid-gl.c      |    7 +++++++
 src/hid/gtk/gui-top-window.c |    1 +
 src/hid/gtk/gui.h            |    1 +
 4 files changed, 16 insertions(+), 0 deletions(-)


=================
 Commit Messages
=================

commit 1bed1e3cadae8910ceb3a2b08c7a8248e8a95f93
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    hid/gtk: Add a shutdown function to the renderer backends
    
    This will be necessary to stop any event handlers / timers which
    should not fire as the GUI is being shut down.
    
    This code isn't actually very "live" at the moment, as the place I've
    hooked up its trigger (the destroy event of the main window), doesn't
    actually appear to get called.
    
    This seems to be because the core "Quit" action just kills the program
    dead, rather than attempting to shut down the GUI.

:100644 100644 4fdb8d3... 25d38fd... M	src/hid/gtk/gtkhid-gdk.c
:100644 100644 ed34ea1... 2d7fec0... M	src/hid/gtk/gtkhid-gl.c
:100644 100644 b11d32c... e9c2669... M	src/hid/gtk/gui-top-window.c
:100644 100644 114574f... b0bbe0a... M	src/hid/gtk/gui.h

=========
 Changes
=========

commit 1bed1e3cadae8910ceb3a2b08c7a8248e8a95f93
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    hid/gtk: Add a shutdown function to the renderer backends
    
    This will be necessary to stop any event handlers / timers which
    should not fire as the GUI is being shut down.
    
    This code isn't actually very "live" at the moment, as the place I've
    hooked up its trigger (the destroy event of the main window), doesn't
    actually appear to get called.
    
    This seems to be because the core "Quit" action just kills the program
    dead, rather than attempting to shut down the GUI.

diff --git a/src/hid/gtk/gtkhid-gdk.c b/src/hid/gtk/gtkhid-gdk.c
index 4fdb8d3..25d38fd 100644
--- a/src/hid/gtk/gtkhid-gdk.c
+++ b/src/hid/gtk/gtkhid-gdk.c
@@ -1073,6 +1073,13 @@ ghid_init_renderer (int *argc, char ***argv, GHidPort *port)
 }
 
 void
+ghid_shutdown_renderer (GHidPort *port)
+{
+  g_free (port->render_priv);
+  port->render_priv = NULL;
+}
+
+void
 ghid_init_drawing_widget (GtkWidget *widget, GHidPort *port)
 {
 }
diff --git a/src/hid/gtk/gtkhid-gl.c b/src/hid/gtk/gtkhid-gl.c
index ed34ea1..2d7fec0 100644
--- a/src/hid/gtk/gtkhid-gl.c
+++ b/src/hid/gtk/gtkhid-gl.c
@@ -822,6 +822,13 @@ ghid_init_renderer (int *argc, char ***argv, GHidPort *port)
 }
 
 void
+ghid_shutdown_renderer (GHidPort *port)
+{
+  g_free (port->render_priv);
+  port->render_priv = NULL;
+}
+
+void
 ghid_init_drawing_widget (GtkWidget *widget, GHidPort *port)
 {
   render_priv *priv = port->render_priv;
diff --git a/src/hid/gtk/gui-top-window.c b/src/hid/gtk/gui-top-window.c
index b11d32c..e9c2669 100644
--- a/src/hid/gtk/gui-top-window.c
+++ b/src/hid/gtk/gui-top-window.c
@@ -1851,6 +1851,7 @@ delete_chart_cb (GtkWidget * widget, GdkEvent * event, GHidPort * port)
 static void
 destroy_chart_cb (GtkWidget * widget, GHidPort * port)
 {
+  ghid_shutdown_renderer (port);
   gtk_main_quit ();
 }
 
diff --git a/src/hid/gtk/gui.h b/src/hid/gtk/gui.h
index 114574f..b0bbe0a 100644
--- a/src/hid/gtk/gui.h
+++ b/src/hid/gtk/gui.h
@@ -490,6 +490,7 @@ void ghid_invalidate_all ();
 void ghid_notify_crosshair_change (bool changes_complete);
 void ghid_notify_mark_change (bool changes_complete);
 void ghid_init_renderer (int *, char ***, GHidPort *);
+void ghid_shutdown_renderer (GHidPort *);
 void ghid_init_drawing_widget (GtkWidget *widget, GHidPort *);
 void ghid_drawing_area_configure_hook (GHidPort *port);
 void ghid_screen_update (void);




_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs