1 |
eva 09/08/02 21:21:14 |
2 |
|
3 |
Added: gnumeric-1.8.4-gtk216-abi-spinbuttons.patch |
4 |
gnumeric-1.8.4-gtk216-im-block.patch |
5 |
Log: |
6 |
Version bump. Fix gtk+ 2.16 compatibility issues, bug #278502. Remove useless .la files. |
7 |
(Portage version: 2.2_rc33/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: gnumeric-1.8.4-gtk216-abi-spinbuttons.patch |
16 |
=================================================================== |
17 |
From 75fe906cb0afce76a47338415773a6d4c5f07c5c Mon Sep 17 00:00:00 2001 |
18 |
From: Morten Welinder <terra@×××××.org> |
19 |
Date: Thu, 30 Apr 2009 19:04:49 -0400 |
20 |
Subject: [PATCH 1/1] Work around gtk+ 2.16 ABI break re spinbuttons. |
21 |
|
22 |
--- |
23 |
src/dialogs/anova-one.glade | 3 +-- |
24 |
src/dialogs/anova-two.glade | 3 +-- |
25 |
src/dialogs/cell-format.glade | 3 +-- |
26 |
src/dialogs/col-width.glade | 3 +-- |
27 |
src/dialogs/descriptive-stats.glade | 3 +-- |
28 |
src/dialogs/dialog-stf.glade | 6 ++---- |
29 |
src/dialogs/dialog-zoom.glade | 3 +-- |
30 |
src/dialogs/print.glade | 9 +++------ |
31 |
src/dialogs/row-height.glade | 3 +-- |
32 |
src/dialogs/simulation.glade | 12 ++++-------- |
33 |
src/dialogs/so-scrollbar.glade | 12 ++++-------- |
34 |
src/dialogs/solver.glade | 6 ++---- |
35 |
12 files changed, 22 insertions(+), 44 deletions(-) |
36 |
|
37 |
diff --git a/src/dialogs/anova-one.glade b/src/dialogs/anova-one.glade |
38 |
index cf95a5b..a822db5 100644 |
39 |
--- a/src/dialogs/anova-one.glade |
40 |
+++ b/src/dialogs/anova-one.glade |
41 |
@@ -318,8 +318,7 @@ |
42 |
<property name="update_policy">GTK_UPDATE_IF_VALID</property> |
43 |
<property name="snap_to_ticks">False</property> |
44 |
<property name="wrap">False</property> |
45 |
- <property name="adjustment">0.05 0 1 0.01 10 10</property> |
46 |
- </widget> |
47 |
+ <property name="adjustment">0.05 0 1 0.01 10 0</property> </widget> |
48 |
<packing> |
49 |
<property name="left_attach">1</property> |
50 |
<property name="right_attach">2</property> |
51 |
diff --git a/src/dialogs/anova-two.glade b/src/dialogs/anova-two.glade |
52 |
index 3b101fb..c25e425 100644 |
53 |
--- a/src/dialogs/anova-two.glade |
54 |
+++ b/src/dialogs/anova-two.glade |
55 |
@@ -263,8 +263,7 @@ |
56 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
57 |
<property name="snap_to_ticks">False</property> |
58 |
<property name="wrap">False</property> |
59 |
- <property name="adjustment">0.05 0 1 0.01 0.05 0.05</property> |
60 |
- </widget> |
61 |
+ <property name="adjustment">0.05 0 1 0.01 0.05 0</property> </widget> |
62 |
<packing> |
63 |
<property name="left_attach">1</property> |
64 |
<property name="right_attach">2</property> |
65 |
diff --git a/src/dialogs/cell-format.glade b/src/dialogs/cell-format.glade |
66 |
index be30f4f..968754d 100644 |
67 |
--- a/src/dialogs/cell-format.glade |
68 |
+++ b/src/dialogs/cell-format.glade |
69 |
@@ -356,8 +356,7 @@ |
70 |
<property name="update_policy">GTK_UPDATE_IF_VALID</property> |
71 |
<property name="snap_to_ticks">False</property> |
72 |
<property name="wrap">False</property> |
73 |
- <property name="adjustment">0 0 20 1 10 10</property> |
74 |
- </widget> |
75 |
+ <property name="adjustment">0 0 20 1 10 0</property> </widget> |
76 |
<packing> |
77 |
<property name="left_attach">1</property> |
78 |
<property name="right_attach">2</property> |
79 |
diff --git a/src/dialogs/col-width.glade b/src/dialogs/col-width.glade |
80 |
index 907a629..f87b21a 100644 |
81 |
--- a/src/dialogs/col-width.glade |
82 |
+++ b/src/dialogs/col-width.glade |
83 |
@@ -148,8 +148,7 @@ |
84 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
85 |
<property name="snap_to_ticks">False</property> |
86 |
<property name="wrap">False</property> |
87 |
- <property name="adjustment">5 5 1000 1 5 5</property> |
88 |
- </widget> |
89 |
+ <property name="adjustment">5 5 1000 1 5 0</property> </widget> |
90 |
<packing> |
91 |
<property name="left_attach">1</property> |
92 |
<property name="right_attach">2</property> |
93 |
diff --git a/src/dialogs/descriptive-stats.glade b/src/dialogs/descriptive-stats.glade |
94 |
index 9653553..35bde2c 100644 |
95 |
--- a/src/dialogs/descriptive-stats.glade |
96 |
+++ b/src/dialogs/descriptive-stats.glade |
97 |
@@ -474,8 +474,7 @@ |
98 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
99 |
<property name="snap_to_ticks">False</property> |
100 |
<property name="wrap">False</property> |
101 |
- <property name="adjustment">0.05 0 1 0.01 10 10</property> |
102 |
- </widget> |
103 |
+ <property name="adjustment">0.05 0 1 0.01 10 0</property> </widget> |
104 |
<packing> |
105 |
<property name="left_attach">2</property> |
106 |
<property name="right_attach">3</property> |
107 |
diff --git a/src/dialogs/dialog-stf.glade b/src/dialogs/dialog-stf.glade |
108 |
index 0673cdd..77c7acd 100644 |
109 |
--- a/src/dialogs/dialog-stf.glade |
110 |
+++ b/src/dialogs/dialog-stf.glade |
111 |
@@ -515,8 +515,7 @@ |
112 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
113 |
<property name="snap_to_ticks">False</property> |
114 |
<property name="wrap">False</property> |
115 |
- <property name="adjustment">1 1 100 1 10 10</property> |
116 |
- </widget> |
117 |
+ <property name="adjustment">1 1 100 1 10 0</property> </widget> |
118 |
<packing> |
119 |
<property name="padding">0</property> |
120 |
<property name="expand">False</property> |
121 |
@@ -557,8 +556,7 @@ |
122 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
123 |
<property name="snap_to_ticks">False</property> |
124 |
<property name="wrap">False</property> |
125 |
- <property name="adjustment">1 1 100 1 10 10</property> |
126 |
- </widget> |
127 |
+ <property name="adjustment">1 1 100 1 10 0</property> </widget> |
128 |
<packing> |
129 |
<property name="padding">0</property> |
130 |
<property name="expand">False</property> |
131 |
diff --git a/src/dialogs/dialog-zoom.glade b/src/dialogs/dialog-zoom.glade |
132 |
index 30e65cc..3cd716a 100644 |
133 |
--- a/src/dialogs/dialog-zoom.glade |
134 |
+++ b/src/dialogs/dialog-zoom.glade |
135 |
@@ -254,8 +254,7 @@ |
136 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
137 |
<property name="snap_to_ticks">False</property> |
138 |
<property name="wrap">False</property> |
139 |
- <property name="adjustment">100 10 500 5 25 25</property> |
140 |
- </widget> |
141 |
+ <property name="adjustment">100 10 500 5 25 0</property> </widget> |
142 |
<packing> |
143 |
<property name="padding">0</property> |
144 |
<property name="expand">False</property> |
145 |
diff --git a/src/dialogs/print.glade b/src/dialogs/print.glade |
146 |
index 196ffd0..f2a1662 100644 |
147 |
--- a/src/dialogs/print.glade |
148 |
+++ b/src/dialogs/print.glade |
149 |
@@ -698,8 +698,7 @@ |
150 |
<widget class="GtkSpinButton" id="scale-h-spin"> |
151 |
<property name="visible">True</property> |
152 |
<property name="can_focus">True</property> |
153 |
- <property name="adjustment">1 1 100 1 10 10</property> |
154 |
- <property name="climb_rate">1</property> |
155 |
+ <property name="adjustment">1 1 100 1 10 0</property> <property name="climb_rate">1</property> |
156 |
</widget> |
157 |
<packing> |
158 |
<property name="left_attach">2</property> |
159 |
@@ -747,8 +746,7 @@ |
160 |
<widget class="GtkSpinButton" id="scale-v-spin"> |
161 |
<property name="visible">True</property> |
162 |
<property name="can_focus">True</property> |
163 |
- <property name="adjustment">1 1 100 1 10 10</property> |
164 |
- <property name="climb_rate">1</property> |
165 |
+ <property name="adjustment">1 1 100 1 10 0</property> <property name="climb_rate">1</property> |
166 |
</widget> |
167 |
<packing> |
168 |
<property name="left_attach">2</property> |
169 |
@@ -792,8 +790,7 @@ |
170 |
<widget class="GtkSpinButton" id="scale-percent-spin"> |
171 |
<property name="visible">True</property> |
172 |
<property name="can_focus">True</property> |
173 |
- <property name="adjustment">10 10 1000 1 10 10</property> |
174 |
- <property name="climb_rate">1</property> |
175 |
+ <property name="adjustment">10 10 1000 1 10 0</property> <property name="climb_rate">1</property> |
176 |
<property name="digits">1</property> |
177 |
<property name="numeric">True</property> |
178 |
</widget> |
179 |
diff --git a/src/dialogs/row-height.glade b/src/dialogs/row-height.glade |
180 |
index 71e62b0..3004d87 100644 |
181 |
--- a/src/dialogs/row-height.glade |
182 |
+++ b/src/dialogs/row-height.glade |
183 |
@@ -149,8 +149,7 @@ |
184 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
185 |
<property name="snap_to_ticks">False</property> |
186 |
<property name="wrap">False</property> |
187 |
- <property name="adjustment">5 5 1000 1 5 5</property> |
188 |
- </widget> |
189 |
+ <property name="adjustment">5 5 1000 1 5 0</property> </widget> |
190 |
<packing> |
191 |
<property name="left_attach">1</property> |
192 |
<property name="right_attach">2</property> |
193 |
diff --git a/src/dialogs/simulation.glade b/src/dialogs/simulation.glade |
194 |
index d084dfc..356c90b 100644 |
195 |
--- a/src/dialogs/simulation.glade |
196 |
+++ b/src/dialogs/simulation.glade |
197 |
@@ -345,8 +345,7 @@ |
198 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
199 |
<property name="snap_to_ticks">False</property> |
200 |
<property name="wrap">False</property> |
201 |
- <property name="adjustment">10 1 36000 10 10 10</property> |
202 |
- </widget> |
203 |
+ <property name="adjustment">10 1 36000 10 10 0</property> </widget> |
204 |
<packing> |
205 |
<property name="left_attach">2</property> |
206 |
<property name="right_attach">3</property> |
207 |
@@ -366,8 +365,7 @@ |
208 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
209 |
<property name="snap_to_ticks">False</property> |
210 |
<property name="wrap">False</property> |
211 |
- <property name="adjustment">1000 1 1e+10 1000 10 10</property> |
212 |
- </widget> |
213 |
+ <property name="adjustment">1000 1 1e+10 1000 10 0</property> </widget> |
214 |
<packing> |
215 |
<property name="left_attach">2</property> |
216 |
<property name="right_attach">3</property> |
217 |
@@ -387,8 +385,7 @@ |
218 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
219 |
<property name="snap_to_ticks">False</property> |
220 |
<property name="wrap">False</property> |
221 |
- <property name="adjustment">1 1 1e+08 1 10 10</property> |
222 |
- </widget> |
223 |
+ <property name="adjustment">1 1 1e+08 1 10 0</property> </widget> |
224 |
<packing> |
225 |
<property name="left_attach">2</property> |
226 |
<property name="right_attach">3</property> |
227 |
@@ -408,8 +405,7 @@ |
228 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
229 |
<property name="snap_to_ticks">False</property> |
230 |
<property name="wrap">False</property> |
231 |
- <property name="adjustment">1 1 1e+08 1 10 10</property> |
232 |
- </widget> |
233 |
+ <property name="adjustment">1 1 1e+08 1 10 0</property> </widget> |
234 |
<packing> |
235 |
<property name="left_attach">2</property> |
236 |
<property name="right_attach">3</property> |
237 |
diff --git a/src/dialogs/so-scrollbar.glade b/src/dialogs/so-scrollbar.glade |
238 |
index f4d7de2..8890bbb 100644 |
239 |
--- a/src/dialogs/so-scrollbar.glade |
240 |
+++ b/src/dialogs/so-scrollbar.glade |
241 |
@@ -194,8 +194,7 @@ |
242 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
243 |
<property name="snap_to_ticks">False</property> |
244 |
<property name="wrap">False</property> |
245 |
- <property name="adjustment">0 0 3001 1 10 1</property> |
246 |
- <accessibility> |
247 |
+ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility> |
248 |
<atkrelation target="label_min" type="labelled-by"/> |
249 |
</accessibility> |
250 |
</widget> |
251 |
@@ -218,8 +217,7 @@ |
252 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
253 |
<property name="snap_to_ticks">False</property> |
254 |
<property name="wrap">False</property> |
255 |
- <property name="adjustment">0 0 3001 1 10 1</property> |
256 |
- <accessibility> |
257 |
+ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility> |
258 |
<atkrelation target="label_max" type="labelled-by"/> |
259 |
</accessibility> |
260 |
</widget> |
261 |
@@ -242,8 +240,7 @@ |
262 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
263 |
<property name="snap_to_ticks">False</property> |
264 |
<property name="wrap">False</property> |
265 |
- <property name="adjustment">0 0 3001 1 10 1</property> |
266 |
- <accessibility> |
267 |
+ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility> |
268 |
<atkrelation target="label_increment" type="labelled-by"/> |
269 |
</accessibility> |
270 |
</widget> |
271 |
@@ -266,8 +263,7 @@ |
272 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
273 |
<property name="snap_to_ticks">False</property> |
274 |
<property name="wrap">False</property> |
275 |
- <property name="adjustment">0 0 3001 1 10 1</property> |
276 |
- <accessibility> |
277 |
+ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility> |
278 |
<atkrelation target="label_page" type="labelled-by"/> |
279 |
</accessibility> |
280 |
</widget> |
281 |
diff --git a/src/dialogs/solver.glade b/src/dialogs/solver.glade |
282 |
index 66eab7c..b58fdf3 100644 |
283 |
--- a/src/dialogs/solver.glade |
284 |
+++ b/src/dialogs/solver.glade |
285 |
@@ -668,8 +668,7 @@ Bool |
286 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
287 |
<property name="snap_to_ticks">False</property> |
288 |
<property name="wrap">False</property> |
289 |
- <property name="adjustment">100 1 1e+10 10 10 10</property> |
290 |
- </widget> |
291 |
+ <property name="adjustment">100 1 1e+10 10 10 0</property> </widget> |
292 |
<packing> |
293 |
<property name="left_attach">1</property> |
294 |
<property name="right_attach">2</property> |
295 |
@@ -689,8 +688,7 @@ Bool |
296 |
<property name="update_policy">GTK_UPDATE_ALWAYS</property> |
297 |
<property name="snap_to_ticks">False</property> |
298 |
<property name="wrap">False</property> |
299 |
- <property name="adjustment">30 1 36000 10 10 10</property> |
300 |
- </widget> |
301 |
+ <property name="adjustment">30 1 36000 10 10 0</property> </widget> |
302 |
<packing> |
303 |
<property name="left_attach">1</property> |
304 |
<property name="right_attach">2</property> |
305 |
-- |
306 |
1.6.3.3 |
307 |
|
308 |
|
309 |
|
310 |
|
311 |
1.1 app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch |
312 |
|
313 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch?rev=1.1&view=markup |
314 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch?rev=1.1&content-type=text/plain |
315 |
|
316 |
Index: gnumeric-1.8.4-gtk216-im-block.patch |
317 |
=================================================================== |
318 |
From 9932dc2cafe66b752e965175a3cbe9889819feb5 Mon Sep 17 00:00:00 2001 |
319 |
From: Jody Goldberg <jody@×××××.org> |
320 |
Date: Sat, 14 Mar 2009 22:21:18 +0000 |
321 |
Subject: [PATCH 1/1] clear the 'im_block_edit_start' flag. (gnm_pane_unrealize) : set the flag. |
322 |
|
323 |
2009-03-13 Jody Goldberg <jody@×××××.org> |
324 |
|
325 |
* src/gnm-pane.c (gnm_pane_realize) : clear the 'im_block_edit_start' flag. |
326 |
(gnm_pane_unrealize) : set the flag. |
327 |
|
328 |
* src/application.c (gnm_app_add_extra_ui) : take a group name. |
329 |
(gnm_app_remove_extra_ui) : patch minor leak. |
330 |
* src/gnm-plugin.c (plugin_service_ui_activate) : use the supplied |
331 |
group name rather than a static name that is shared between all |
332 |
custom ui. |
333 |
|
334 |
|
335 |
|
336 |
svn path=/branches/gnumeric-1-8/; revision=17206 |
337 |
--- |
338 |
src/application.c | 6 +++++- |
339 |
src/application.h | 4 +++- |
340 |
src/gnm-pane-impl.h | 7 +++---- |
341 |
src/gnm-pane.c | 40 ++++++++++++++++++++++++++++------------ |
342 |
src/gnm-plugin.c | 6 ++++-- |
343 |
src/wbc-gtk.c | 2 +- |
344 |
6 files changed, 44 insertions(+), 21 deletions(-) |
345 |
|
346 |
diff --git a/src/application.c b/src/application.c |
347 |
index fccd626..04a47e7 100644 |
348 |
--- a/src/application.c |
349 |
+++ b/src/application.c |
350 |
@@ -815,12 +815,14 @@ gnm_action_free (GnmAction *action) |
351 |
} |
352 |
|
353 |
GnmAppExtraUI * |
354 |
-gnm_app_add_extra_ui (GSList *actions, char *layout, |
355 |
+gnm_app_add_extra_ui (char const *group_name, |
356 |
+ GSList *actions, char *layout, |
357 |
char const *domain, |
358 |
gpointer user_data) |
359 |
{ |
360 |
GnmAppExtraUI *extra_ui = g_new0 (GnmAppExtraUI, 1); |
361 |
extra_uis = g_slist_prepend (extra_uis, extra_ui); |
362 |
+ extra_ui->group_name = g_strdup (group_name); |
363 |
extra_ui->actions = actions; |
364 |
extra_ui->layout = layout; |
365 |
extra_ui->user_data = user_data; |
366 |
@@ -832,6 +834,8 @@ void |
367 |
gnm_app_remove_extra_ui (GnmAppExtraUI *extra_ui) |
368 |
{ |
369 |
g_signal_emit (G_OBJECT (app), signals [CUSTOM_UI_REMOVED], 0, extra_ui); |
370 |
+ g_free (extra_ui->group_name); |
371 |
+ g_free (extra_ui); |
372 |
} |
373 |
|
374 |
void |
375 |
diff --git a/src/application.h b/src/application.h |
376 |
index 18d8837..ccf7c01 100644 |
377 |
--- a/src/application.h |
378 |
+++ b/src/application.h |
379 |
@@ -79,6 +79,7 @@ struct _GnmAction { |
380 |
GnmActionHandler handler; |
381 |
}; |
382 |
typedef struct { |
383 |
+ char const *group_name; |
384 |
GSList *actions; |
385 |
char *layout; |
386 |
char const *domain; |
387 |
@@ -90,7 +91,8 @@ GnmAction *gnm_action_new (char const *name, char const *label, |
388 |
GnmActionHandler handler); |
389 |
void gnm_action_free (GnmAction *action); |
390 |
|
391 |
-GnmAppExtraUI *gnm_app_add_extra_ui (GSList *actions, char *layout, |
392 |
+GnmAppExtraUI *gnm_app_add_extra_ui (char const *group_name, |
393 |
+ GSList *actions, char *layout, |
394 |
char const *domain, |
395 |
gpointer user_data); |
396 |
void gnm_app_remove_extra_ui (GnmAppExtraUI *extra_ui); |
397 |
diff --git a/src/gnm-pane-impl.h b/src/gnm-pane-impl.h |
398 |
index 90578b8..a38e2dc 100644 |
399 |
--- a/src/gnm-pane-impl.h |
400 |
+++ b/src/gnm-pane-impl.h |
401 |
@@ -30,14 +30,13 @@ struct _GnmPane { |
402 |
gboolean sliding_adjacent_h, sliding_adjacent_v; |
403 |
|
404 |
/* IM */ |
405 |
- guint reseting_im :1; /* quick hack to keep gtk_im_context_reset from starting an edit */ |
406 |
+ guint im_block_edit_start :1; /* see gnm_pane_key_press for details */ |
407 |
+ guint im_first_focus :1; /* see gnm_pane_init for details */ |
408 |
guint preedit_length; |
409 |
GtkIMContext *im_context; |
410 |
PangoAttrList *preedit_attrs; |
411 |
- gboolean insert_decimal; |
412 |
- |
413 |
- |
414 |
|
415 |
+ gboolean insert_decimal; |
416 |
|
417 |
int index; |
418 |
struct { |
419 |
diff --git a/src/gnm-pane.c b/src/gnm-pane.c |
420 |
index 68be0d4..58f1579 100644 |
421 |
--- a/src/gnm-pane.c |
422 |
+++ b/src/gnm-pane.c |
423 |
@@ -587,11 +587,15 @@ gnm_pane_key_press (GtkWidget *widget, GdkEventKey *event) |
424 |
event->keyval == GDK_KP_Decimal || |
425 |
event->keyval == GDK_KP_Separator; |
426 |
|
427 |
- if (gtk_im_context_filter_keypress (pane->im_context,event)) |
428 |
+ if (gtk_im_context_filter_keypress (pane->im_context, event)) |
429 |
return TRUE; |
430 |
- pane->reseting_im = TRUE; |
431 |
+ |
432 |
+ /* in gtk-2.8 something changed. gtk_im_context_reset started |
433 |
+ * triggering a pre-edit-changed. We'd end up start and finishing an |
434 |
+ * empty edit every time the cursor moved */ |
435 |
+ pane->im_block_edit_start = TRUE; |
436 |
gtk_im_context_reset (pane->im_context); |
437 |
- pane->reseting_im = FALSE; |
438 |
+ pane->im_block_edit_start = FALSE; |
439 |
|
440 |
if (gnm_pane_key_mode_sheet (pane, event, allow_rangesel)) |
441 |
return TRUE; |
442 |
@@ -628,7 +632,17 @@ static gint |
443 |
gnm_pane_focus_in (GtkWidget *widget, GdkEventFocus *event) |
444 |
{ |
445 |
#ifndef GNM_USE_HILDON |
446 |
+ /* The first call to focus-in was sometimes the first thing to init the |
447 |
+ * imcontext. In which case the im_context_focus_in would fire a |
448 |
+ * preedit-changed, and we would start editing. */ |
449 |
+ GnmPane *pane = GNM_PANE (widget); |
450 |
+ if (pane->im_first_focus) |
451 |
+ pane->im_block_edit_start = TRUE; |
452 |
gtk_im_context_focus_in (GNM_PANE (widget)->im_context); |
453 |
+ if (pane->im_first_focus) { |
454 |
+ pane->im_first_focus = FALSE; |
455 |
+ pane->im_block_edit_start = FALSE; |
456 |
+ } |
457 |
#endif |
458 |
return (*GTK_WIDGET_CLASS (parent_klass)->focus_in_event) (widget, event); |
459 |
} |
460 |
@@ -645,6 +659,8 @@ gnm_pane_realize (GtkWidget *w) |
461 |
{ |
462 |
GtkStyle *style; |
463 |
|
464 |
+ GNM_PANE (w)->im_block_edit_start = FALSE; |
465 |
+ |
466 |
if (GTK_WIDGET_CLASS (parent_klass)->realize) |
467 |
(*GTK_WIDGET_CLASS (parent_klass)->realize) (w); |
468 |
|
469 |
@@ -667,8 +683,10 @@ gnm_pane_unrealize (GtkWidget *widget) |
470 |
pane = GNM_PANE (widget); |
471 |
g_return_if_fail (pane != NULL); |
472 |
|
473 |
- if (pane->im_context) |
474 |
+ if (pane->im_context) { |
475 |
+ pane->im_block_edit_start = TRUE; |
476 |
gtk_im_context_set_client_window (pane->im_context, NULL); |
477 |
+ } |
478 |
|
479 |
(*GTK_WIDGET_CLASS (parent_klass)->unrealize)(widget); |
480 |
} |
481 |
@@ -733,10 +751,7 @@ cb_gnm_pane_preedit_changed (GtkIMContext *context, GnmPane *pane) |
482 |
pango_attr_list_unref (pane->preedit_attrs); |
483 |
gtk_im_context_get_preedit_string (pane->im_context, &preedit_string, &pane->preedit_attrs, &cursor_pos); |
484 |
|
485 |
- /* in gtk-2.8 something changed. gtk_im_context_reset started |
486 |
- * triggering a pre-edit-changed. We'd end up start and finishing an |
487 |
- * empty edit every time the cursor moved */ |
488 |
- if (!pane->reseting_im && |
489 |
+ if (!pane->im_block_edit_start && |
490 |
!wbcg_is_editing (wbcg) && !wbcg_edit_start (wbcg, TRUE, TRUE)) { |
491 |
gtk_im_context_reset (pane->im_context); |
492 |
pane->preedit_length = 0; |
493 |
@@ -911,8 +926,9 @@ gnm_pane_init (GnmPane *pane) |
494 |
|
495 |
pane->im_context = gtk_im_multicontext_new (); |
496 |
pane->preedit_length = 0; |
497 |
- pane->preedit_attrs = NULL; |
498 |
- pane->reseting_im = FALSE; |
499 |
+ pane->preedit_attrs = NULL; |
500 |
+ pane->im_block_edit_start = FALSE; |
501 |
+ pane->im_first_focus = TRUE; |
502 |
|
503 |
GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_FOCUS); |
504 |
GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_DEFAULT); |
505 |
@@ -2062,9 +2078,9 @@ gnm_pane_size_guide_start (GnmPane *pane, gboolean vert, int colrow, int width) |
506 |
"width-pixels", 1, |
507 |
NULL); |
508 |
else { |
509 |
- static char const dat [] = { 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88 }; |
510 |
+ static unsigned char const dat [] = { 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88 }; |
511 |
GdkBitmap *stipple = gdk_bitmap_create_from_data ( |
512 |
- GTK_WIDGET (pane)->window, dat, 8, 8); |
513 |
+ GTK_WIDGET (pane)->window, (const gchar *)dat, 8, 8); |
514 |
foo_canvas_item_set (pane->size_guide.guide, "fill-stipple", stipple, NULL); |
515 |
g_object_unref (stipple); |
516 |
} |
517 |
diff --git a/src/gnm-plugin.c b/src/gnm-plugin.c |
518 |
index d546a39..dd659bd 100644 |
519 |
--- a/src/gnm-plugin.c |
520 |
+++ b/src/gnm-plugin.c |
521 |
@@ -363,7 +363,7 @@ plugin_service_ui_activate (GOPluginService *service, ErrorInfo **ret_error) |
522 |
PluginServiceUI *service_ui = GNM_PLUGIN_SERVICE_UI (service); |
523 |
GError *err = NULL; |
524 |
char *full_file_name; |
525 |
- char *xml_ui; |
526 |
+ char *xml_ui, *group_name; |
527 |
char const *textdomain; |
528 |
|
529 |
GO_INIT_RET_ERROR_INFO (ret_error); |
530 |
@@ -380,9 +380,11 @@ plugin_service_ui_activate (GOPluginService *service, ErrorInfo **ret_error) |
531 |
g_free (full_file_name); |
532 |
|
533 |
textdomain = go_plugin_get_textdomain (service->plugin); |
534 |
- service_ui->layout_id = gnm_app_add_extra_ui ( |
535 |
+ group_name = g_strconcat (go_plugin_get_id (service->plugin), service->id, NULL); |
536 |
+ service_ui->layout_id = gnm_app_add_extra_ui (group_name, |
537 |
service_ui->actions, |
538 |
xml_ui, textdomain, service); |
539 |
+ g_free (group_name); |
540 |
service->is_active = TRUE; |
541 |
} |
542 |
|
543 |
diff --git a/src/wbc-gtk.c b/src/wbc-gtk.c |
544 |
index 6a7db0c..d687aa8 100644 |
545 |
--- a/src/wbc-gtk.c |
546 |
+++ b/src/wbc-gtk.c |
547 |
@@ -3010,7 +3010,7 @@ cb_add_custom_ui (G_GNUC_UNUSED GnmApp *app, |
548 |
GtkAction *res; |
549 |
|
550 |
details = g_new0 (CustomUIHandle, 1); |
551 |
- details->actions = gtk_action_group_new ("DummyName"); |
552 |
+ details->actions = gtk_action_group_new (extra_ui->group_name); |
553 |
|
554 |
for (ptr = extra_ui->actions; ptr != NULL ; ptr = ptr->next) { |
555 |
action = ptr->data; |
556 |
-- |
557 |
1.6.3.3 |