Merge branch 'master' of git.sv.gnu.org:/srv/git/linphone

This commit is contained in:
Simon Morlat 2011-09-05 16:47:25 +02:00
commit 09bf68a5f1
2 changed files with 30 additions and 13 deletions

View file

@ -83,9 +83,9 @@
${prefix}/lib/gdk-pixbuf-2.0
</binary>
<binary>
<data>
${prefix}/share/mime/globs
</binary>
</data>
<binary>
${prefix}/lib/pango/${pkg:pango:pango_module_version}/modules/*.so
@ -117,7 +117,11 @@
"${bundle}", which refers to the bundle root directory.
-->
<data>
${prefix:linphone}/share
${prefix:linphone}/share/linphone
</data>
<data>
${prefix:linphone}/share/pixmaps/linphone
</data>
<!-- Copy in the themes data. You may want to trim this to save space
@ -147,8 +151,12 @@
${project}/../../gtk/gtkrc.mac
</data>
<data dest="${bundle}/Contents/Resources/share/sounds/linphone">
${prefix:linphone}/share/sounds/linphone/
<data dest="${bundle}/Contents/Resources/share/sounds/linphone/rings/oldphone.wav">
${prefix:linphone}/share/sounds/linphone/rings/oldphone.wav
</data>
<data dest="${bundle}/Contents/Resources/share/sounds/linphone/ringback.wav">
${prefix:linphone}/share/sounds/linphone/ringback.wav
</data>
<!-- Icon themes to copy. The "icons" property can be either of

View file

@ -65,7 +65,6 @@ static gboolean iconified=FALSE;
static gchar *workingdir=NULL;
static char *progpath=NULL;
gchar *linphone_logfile=NULL;
static gboolean app_terminated=FALSE;
static GOptionEntry linphone_options[]={
{
@ -1383,11 +1382,25 @@ static void linphone_gtk_check_soundcards(){
}
}
static void linphone_gtk_quit(void){
gdk_threads_leave();
linphone_gtk_destroy_log_window();
linphone_core_destroy(the_core);
linphone_gtk_log_uninit();
}
#ifdef HAVE_GTK_OSX
/*
This is not the correct way to implement block termination.
The good way would be to call gtk_main_quit(), and return TRUE.
Unfortunately this does not work, because if we return TRUE the NSApplication sometimes calls the CFRunLoop recursively, which prevents gtk_main() to exit.
As a result the program cannot exit at all.
As a workaround we do all the cleanup (unregistration and config save) within the handler.
*/
static gboolean on_block_termination(void){
gtk_main_quit();
g_message("Block termination returning %i",!app_terminated);
return !app_terminated;
linphone_gtk_quit();
return FALSE;
}
#endif
@ -1514,11 +1527,7 @@ int main(int argc, char *argv[]){
linphone_gtk_check_for_new_version();
gtk_main();
gdk_threads_leave();
linphone_gtk_destroy_log_window();
linphone_core_destroy(the_core);
linphone_gtk_log_uninit();
app_terminated=TRUE;
linphone_gtk_quit();
#ifndef HAVE_GTK_OSX
/*workaround a bug on win32 that makes status icon still present in the systray even after program exit.*/
gtk_status_icon_set_visible(icon,FALSE);