Code

remove desktop-affine.cpp
[inkscape.git] / src / shortcuts.cpp
index ffd5aa94879cf0915261de32b9b1f9f9104905ea..7d0f3747d044153a9a56f64af47551491b15d4a6 100644 (file)
@@ -23,6 +23,8 @@
 #endif
 
 #include <vector>
+#include <cstring>
+#include <string>
 
 #include <gdk/gdkkeys.h>
 #include <gdk/gdkkeysyms.h>
@@ -98,11 +100,7 @@ static void read_shortcuts_file(char const *filename) {
         bool is_primary;
 
         if (!strcmp(iter->name(), "bind")) {
-            if (iter->attribute("display") && strcmp(iter->attribute("display"), "false") && strcmp(iter->attribute("display"), "0")) {
-                is_primary = true;
-            } else {
-                is_primary = false;
-            }
+            is_primary = iter->attribute("display") && strcmp(iter->attribute("display"), "false") && strcmp(iter->attribute("display"), "0");
         } else {
             // some unknown element, do not complain
             continue;
@@ -114,18 +112,20 @@ static void read_shortcuts_file(char const *filename) {
             continue;
         }
 
-        if (Inkscape::Verb::getbyid(verb_name) == NULL) {
+        Inkscape::Verb *verb=Inkscape::Verb::getbyid(verb_name);
+        if (!verb) {
             g_warning("Unknown verb name: %s", verb_name);
             continue;
         }
 
         gchar const *keyval_name=iter->attribute("key");
-        if (!keyval_name) {
+        if (!keyval_name || !*keyval_name) {
             // that's ok, it's just listed for reference without assignment, skip it
             continue;
         }
+
         guint keyval=gdk_keyval_from_name(keyval_name);
-        if (keyval == GDK_VoidSymbol) {
+        if (keyval == GDK_VoidSymbol || keyval == 0) {
             g_warning("Unknown keyval %s for %s", keyval_name, verb_name);
             continue;
         }
@@ -153,9 +153,7 @@ static void read_shortcuts_file(char const *filename) {
             }
         }
 
-        sp_shortcut_set(keyval | modifiers,
-                        Inkscape::Verb::getbyid(verb_name),
-                        is_primary);
+        sp_shortcut_set(keyval | modifiers, verb, is_primary);
     }
 
     GC::release(doc);