|
From: | Ross Biro |
Subject: | bug#13479: Cross Compiling for ARM |
Date: | Tue, 22 Jan 2013 22:49:12 -0500 |
If Lisp hasn't been called yet, the root window cannot haveI haven't investigated. But because protecting those calls by if
(initialized) and even moving the lisp->C binding for
window_root_window_resize_vertically to after initialization didn't help, I
suspect the issue might be deeper than just protecting C calls to lisp. I
really don't know how to follow up though.
been split yet. So in the case at hand the following patch
sould work. Can you please try it?
Thanks, martin
=== modified file 'src/window.c'
--- src/window.c 2013-01-11 23:08:55 +0000
+++ src/window.c 2013-01-19 09:54:07 +0000
@@ -4207,8 +4207,15 @@
root = FRAME_ROOT_WINDOW (f);
r = XWINDOW (root);
- value = call2 (Qwindow_resize_root_window_vertically,
- root, make_number (- delta));
+ if (WINDOW_LIVE_P (root))
+ {
+ wset_new_total (r, make_number (XFASTINT (r->total_lines) - delta));
+ value = make_number (- delta);
+ }
+ else
+ value = call2 (Qwindow_resize_root_window_vertically,
+ root, make_number (- delta));
+
if (INTEGERP (value) && window_resize_check (r, 0))
{
block_input ();
@@ -4245,8 +4252,15 @@
{
root = FRAME_ROOT_WINDOW (f);
r = XWINDOW (root);
- value = call2 (Qwindow_resize_root_window_vertically,
- root, make_number (size - 1));
+ if (WINDOW_LIVE_P (root))
+ {
+ wset_new_total (r, make_number (XFASTINT (r->total_lines) + size - 1));
+ value = make_number (size - 1);
+ }
+ else
+ value = call2 (Qwindow_resize_root_window_vertically,
+ root, make_number (size - 1));
+
if (INTEGERP (value) && window_resize_check (r, 0))
{
block_input ();
[Prev in Thread] | Current Thread | [Next in Thread] |