summaryrefslogtreecommitdiff
path: root/extra/xfce4-xkb-plugin/crashfix.diff
blob: 5ccfbaa3cc1f8aa97459b23fb0a6d727cd3cb796 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
From 52dc725bf5e44a0ab0064daebffe7ff139da0f78 Mon Sep 17 00:00:00 2001
From: Lionel Le Folgoc <mrpouit@gmail.com>
Date: Fri, 24 Sep 2010 21:28:49 +0200
Subject: Handle cases when the keyboard model is empty

gtk_combo_box_get_active_iter () does not set the iter, and a call to
gtk_tree_model_get () using this iter will crash. Thus, check the return value
of gtk_combo_box_get_active_iter () before using the iter.
---
 panel-plugin/xkb-settings-dialog.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/panel-plugin/xkb-settings-dialog.c b/panel-plugin/xkb-settings-dialog.c
index 178ec5f..37a0a9a 100644
--- a/panel-plugin/xkb-settings-dialog.c
+++ b/panel-plugin/xkb-settings-dialog.c
@@ -831,9 +831,11 @@ xkb_settings_update_from_ui (t_xkb *xkb)
     gint i = 0;
 
     model = GTK_TREE_MODEL (xkb->combo_store);
-    gtk_combo_box_get_active_iter (GTK_COMBO_BOX (xkb->kbd_model_combo), &iter);
-    gtk_tree_model_get (model, &iter, NOM, &kbdmodel, -1);
-    kbd_config->model = kbdmodel;
+    if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (xkb->kbd_model_combo), &iter))
+    {
+        gtk_tree_model_get (model, &iter, NOM, &kbdmodel, -1);
+        kbd_config->model = kbdmodel;
+    }
 
     model = GTK_TREE_MODEL (xkb->toggle_options_store);
     if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (xkb->toggle_options_combo), &iter))
-- 
1.7.1