Several little fixes.
authorHong Jen Yee (PCMan) <pcman.tw@gmail.com>
Tue, 28 Nov 2006 06:20:19 +0000 (06:20 +0000)
committerHong Jen Yee (PCMan) <pcman.tw@gmail.com>
Tue, 28 Nov 2006 06:20:19 +0000 (06:20 +0000)
debian/changelog
po/hu.po
po/ko.po
src/configurator.c
src/lxpanelctl.c
src/misc.c
src/panel.c

index 985e594..93ca431 100644 (file)
@@ -1,3 +1,17 @@
+lxpanel (0.2.4) unstable; urgency=low
+
+  * Version 0.2.4 release.
+  * Fix crashes cause by unloaded dynamic plugins.
+  * Add DirMenu plugin which enables quick browsing of folders with 
+    menu.
+  * Add "Applications" page in preference dialog to set preferred file 
+    manager and terminal emulator, which can be used by DirMenu plugin.
+  * Remove unused image plugin.
+  * Fix inproper description used in preference dialog.
+  * Fix incorrect initial sizes of menu items of menu plugin.
+
+ -- PCMan <pcman@m5-3.ym.edu.tw>  Tue, 28 Nov 2006 02:54:47 +0800
+
 lxpanel (0.2.3-1) unstable; urgency=low
 
   * Version 0.2.3 release
index ebfa562..f959ea9 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -150,9 +150,8 @@ msgid "Terminal Emulator:"
 msgstr ""
 
 #: ../src/configurator.c:1010
-#, fuzzy
 msgid "Logout Command:"
-msgstr "Nincs beállítva kijelentkező parancs"
+msgstr ""
 
 #: ../src/configurator.c:1030
 msgid "lxpanel configurator"
@@ -168,9 +167,8 @@ msgid "Plugins"
 msgstr "Beillesztések"
 
 #: ../src/configurator.c:1062
-#, fuzzy
 msgid "Applications"
-msgstr "Művelet"
+msgstr ""
 
 #: ../src/configurator.c:1189
 msgid "Logout command is not set"
index bc02b18..12669da 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -165,9 +165,8 @@ msgid "Plugins"
 msgstr "플러그인"
 
 #: ../src/configurator.c:1062
-#, fuzzy
 msgid "Applications"
-msgstr "명령"
+msgstr ""
 
 #: ../src/configurator.c:1189
 msgid "Logout command is not set"
index 3abe5c5..1d7623a 100644 (file)
@@ -1177,7 +1177,11 @@ plugin_config_save(FILE *fp)
 
 void restart(void)
 {
+    /* This is defined in panel.c */
+    extern gboolean is_restarting;
     ENTER;
+    is_restarting = TRUE;
+    gtk_main_quit();
     RET();
 }
 
@@ -1214,8 +1218,10 @@ static void notify_apply_config( GtkWidget* widget )
 static void on_entry_changed( GtkEditable* edit, gpointer user_data )
 {
     char** val = (char**)user_data;
+    const char *new_val;
     g_free( *val );
-    *val = g_strdup( gtk_entry_get_text(GTK_ENTRY(edit)) );
+    new_val = gtk_entry_get_text(GTK_ENTRY(edit));
+    *val = (new_val && *new_val) ? g_strdup( new_val ) : NULL;
     notify_apply_config( GTK_WIDGET(edit) );
 }
 
index 116568b..16fde81 100644 (file)
@@ -1,4 +1,4 @@
-/**                                                                                                 
+/**
  * Copyright (c) 2006 LxDE Developers, see the file AUTHORS for details.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -28,7 +28,7 @@
 
 static Display* dpy;
 
-static const char usage[] = 
+static const char usage[] =
         "\nlxpanelctl - LXPanel Controller\n"
         "Usage: lxpanelctl <command>\n\n"
         "Available commands:\n"
@@ -46,6 +46,8 @@ static int get_cmd( const char* cmd )
         return LXPANEL_CMD_RUN;
     else if( ! strcmp( cmd, "config") )
         return LXPANEL_CMD_CONFIG;
+    else if( ! strcmp( cmd, "restart") )
+        return LXPANEL_CMD_RESTART;
     else if( ! strcmp( cmd, "exit") )
         return LXPANEL_CMD_EXIT;
     return -1;
@@ -58,7 +60,7 @@ int main( int argc, char** argv )
     Window root;
     Atom cmd_atom;
     int cmd;
-    int restart;
+    /* int restart; */
 
     if( argc < 2 )
     {
@@ -66,8 +68,10 @@ int main( int argc, char** argv )
         return 1;
     }
 
+    /*
     if( restart = !strcmp( argv[1], "restart" ) )
         argv[1] = "exit";
+    */
 
     if( ( cmd = get_cmd( argv[1] ) ) == -1 )
         return 1;
@@ -92,9 +96,11 @@ int main( int argc, char** argv )
     XSync(dpy, False);
     XCloseDisplay(dpy);
 
+/*
     if( restart ) {
         system( PACKAGE_BIN_DIR "/lxpanel &" );
     }
+*/
     return 0;
 }
 
index bea14dc..495a9ba 100644 (file)
@@ -1,4 +1,4 @@
-/**                                                                                                 
+/**
  * Copyright (c) 2006 LxDE Developers, see the file AUTHORS for details.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -202,7 +202,7 @@ lxpanel_put_line(FILE* fp, const char* format, ...)
 extern int
 lxpanel_put_str( FILE* fp, const char* name, const char* val )
 {
-    if( G_UNLIKELY( !val ) )
+    if( G_UNLIKELY( !val || !*val ) )
         return 0;
     return lxpanel_put_line( fp, "%s = %s", name, val );
 }
index 2e8b100..760565c 100644 (file)
@@ -52,6 +52,8 @@ FbEv *fbev;
 int log_level;
 panel *p;
 
+gboolean is_restarting = FALSE;
+
 /****************************************************
  *         panel's handlers for WM events           *
  ****************************************************/
@@ -974,6 +976,9 @@ main(int argc, char *argv[], char *env[])
     gtk_icon_theme_append_search_path( gtk_icon_theme_get_default(),
                                        PACKAGE_DATA_DIR "/lxpanel/images" );
 
+restart:
+    is_restarting = FALSE;
+
     if (!(fp = pfp = load_profile(cprofile)))
         exit(1);
     p = g_new0(panel, 1);
@@ -991,6 +996,9 @@ main(int argc, char *argv[], char *env[])
     g_free( cfgfile );
     g_free(p);
 
+    if( is_restarting )
+        goto restart;
+
     return 0;
 }