#include <gtk/gtk.h>#include <signal.h>#include <stdio.h>#include <stdlib.h>#include <glade/glade.h>#include <string.h>#include "commands.h"Include dependency graph for main.c:

Go to the source code of this file.
Functions | |
| void | sigpipe_clear (void) |
| int | sigpipe_get (void) |
| static void | sigpipe_handler (int value) |
| static void | sigusr2_handler (int value) |
| int | main (int argc, char *argv[]) |
| Segmentation fault handler. | |
Variables | |
| GtkWidget * | main_window |
| GladeXML * | magick_glade |
| GladeXML * | kino_glade |
| char * | g_help_language |
| static int | sigpipe = 0 |
|
||||||||||||
|
Segmentation fault handler. This handler unwinds the stack and prints the stackframes. Definition at line 110 of file main.c. References bulkLoad(), g_help_language, kino2raw(), kino_glade, kinoInitialise(), kinoPostInit(), magick_glade, main_window, sigpipe_handler(), and sigusr2_handler(). 00111 {
00112 if ( strstr( argv[0], "kino2raw" ) )
00113 {
00114 if ( argc > 1 )
00115 exit( kino2raw( argv[1], argc > 2 ? argv[2] : NULL ) );
00116 else
00117 exit( 1 );
00118 }
00119 #ifdef ENABLE_NLS
00120 bindtextdomain ( PACKAGE, DATADIR "/locale" );
00121 bind_textdomain_codeset( PACKAGE, "UTF-8" );
00122 textdomain ( PACKAGE );
00123 #endif
00124
00125 signal( SIGPIPE, sigpipe_handler );
00126 signal( SIGUSR2, sigusr2_handler );
00127 #ifdef HAVE_EXECINFO_H
00128 signal( SIGSEGV, sigsegv_handler );
00129 #endif
00130
00131 g_help_language = strdup( "\0\0" );
00132 #ifdef HELP_LINGUAS
00133 gchar** translations = g_strsplit( HELP_LINGUAS, " ", 0 );
00134 const gchar* const * locales = g_get_language_names();
00135 int i, j;
00136 for ( i = 0; translations[i] && !g_help_language[0]; ++i )
00137 {
00138 for ( j = 0; locales[j]; ++j )
00139 {
00140 gchar** parts = g_strsplit_set( locales[j], "._", 0 );
00141 if ( parts[0] && strncmp( parts[0], translations[i], 2 ) == 0 )
00142 {
00143 strncpy( g_help_language, parts[0], 2 );
00144 g_strfreev( parts );
00145 break;
00146 }
00147 g_strfreev( parts );
00148 }
00149 }
00150 g_strfreev( translations );
00151 #endif
00152 if ( !g_help_language[0] )
00153 strncpy( g_help_language, "en", 2 );
00154 fprintf( stderr, "> help language code %s\n", g_help_language);
00155
00156 g_thread_init( NULL );
00157 gdk_threads_init();
00158 gdk_rgb_init();
00159 gtk_init( &argc, &argv );
00160 glade_init();
00161
00162 magick_glade = glade_xml_new( DATADIR "/kino/magick.glade", NULL, NULL );
00163 kino_glade = glade_xml_new( DATADIR "/kino/kino.glade", NULL, NULL );
00164 glade_xml_signal_autoconnect( magick_glade );
00165 glade_xml_signal_autoconnect( kino_glade );
00166 main_window = glade_xml_get_widget( kino_glade, "main_window" );
00167 gtk_widget_set_events( main_window, GDK_KEY_RELEASE_MASK );
00168 gtk_window_set_default_icon_from_file( DATADIR "/kino/kino.png", NULL );
00169
00170 kinoInitialise( main_window );
00171 gtk_widget_show_all( main_window );
00172 kinoPostInit();
00173
00174 gdk_threads_enter();
00175 bulkLoad( argc, argv );
00176 gtk_main();
00177 gdk_threads_leave();
00178 free( g_help_language );
00179
00180 return 0;
00181 }
|
|
|
|
|
|
|
|
|
Definition at line 64 of file main.c. References sigpipe. Referenced by main(). 00065 {
00066 fprintf( stderr, "SIGPIPE Received (%d) - setting indicator\n", value );
00067 sigpipe ++;
00068 }
|
|
|
Definition at line 70 of file main.c. References startJogShuttle(). Referenced by main(). 00071 {
00072 fprintf( stderr, "SIGUSR2 Received (%d) - scanning for jog/shuttle controllers\n", value );
00073 startJogShuttle();
00074 }
|
|
|
Definition at line 48 of file main.c. Referenced by main(), and showHelp(). |
|
|
Definition at line 47 of file main.c. Referenced by main(). |
|
|
|
|
|
|
|
|
Definition at line 50 of file main.c. Referenced by sigpipe_clear(), sigpipe_get(), and sigpipe_handler(). |
1.4.2