File: search-segfault-fix.diff

package info (click to toggle)
kdrill 6.5deb2-13.1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,392 kB
  • sloc: ansic: 7,640; makefile: 47
file content (36 lines) | stat: -rw-r--r-- 1,206 bytes parent folder | download | duplicates (9)
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
35
36
diff -ruN kdrill6.5-old/multikanji.c kdrill6.5/multikanji.c
--- kdrill6.5-old/multikanji.c	2008-04-28 14:08:58.000000000 +0200
+++ kdrill6.5/multikanji.c	2008-04-28 14:09:38.000000000 +0200
@@ -205,6 +205,9 @@
  */
 void multiUcallback(Widget button, XtPointer data, XtPointer call_data){
 	TRANSLATION trans=transptrs[(int)(intptr_t)data];
+	if (!trans)
+		return;
+
 	int kindex=trans_to_index(trans);
 
 	SetUseKanji(kindex,!InUsefile(kindex));
diff -ruN kdrill6.5-old/searchwidgets.c kdrill6.5/searchwidgets.c
--- kdrill6.5-old/searchwidgets.c	2006-03-05 22:38:12.000000000 +0100
+++ kdrill6.5/searchwidgets.c	2008-04-28 14:08:58.000000000 +0200
@@ -137,7 +137,8 @@
 /* Find all matches for what is currently being displayed by the search win*/
 void Handle_matchkanji(Widget w,XtPointer client_data, XtPointer call_data)
 {
-	findkanjiall(lastsearch->kanji);
+	if (lastsearch)
+		findkanjiall(lastsearch->kanji);
 }
 
 /* Handle toggle callback for "[usefile]" toggle button */
@@ -145,6 +146,9 @@
 static void 
 ToggleUsefile(Widget w,XtPointer client_data, XtPointer call_data)
 {
+	if (!lastsearch)
+		return;
+
 	int kcount=trans_to_index(lastsearch);
 	SetUseKanji(kcount, !InUsefile(kcount));