diff options
| author | Miles Bader | 2001-11-07 08:33:33 +0000 |
|---|---|---|
| committer | Miles Bader | 2001-11-07 08:33:33 +0000 |
| commit | c7e609d5111e15abb21d3fcf54cb1dcc4420f264 (patch) | |
| tree | 4e95535d4e821ce4f03d91286e2f90ed6cf43f93 /src | |
| parent | a84ff57ae19116dbab8378eb28151e964f765ec5 (diff) | |
| download | emacs-c7e609d5111e15abb21d3fcf54cb1dcc4420f264.tar.gz emacs-c7e609d5111e15abb21d3fcf54cb1dcc4420f264.zip | |
(x_set_frame_parameters): Avoid infinite recursion.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xfns.c | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/src/xfns.c b/src/xfns.c index ec89ac7b607..6cc5a3ce14f 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -906,13 +906,18 @@ x_set_frame_parameters (f, alist) | |||
| 906 | { | 906 | { |
| 907 | register Lisp_Object param_index, old_value; | 907 | register Lisp_Object param_index, old_value; |
| 908 | 908 | ||
| 909 | param_index = Fget (prop, Qx_frame_parameter); | ||
| 910 | old_value = get_frame_param (f, prop); | 909 | old_value = get_frame_param (f, prop); |
| 911 | store_frame_param (f, prop, val); | 910 | |
| 912 | if (NATNUMP (param_index) | 911 | if (NILP (Fequal (val, old_value))) |
| 913 | && (XFASTINT (param_index) | 912 | { |
| 914 | < sizeof (x_frame_parms)/sizeof (x_frame_parms[0]))) | 913 | store_frame_param (f, prop, val); |
| 915 | (*x_frame_parms[XINT (param_index)].setter)(f, val, old_value); | 914 | |
| 915 | param_index = Fget (prop, Qx_frame_parameter); | ||
| 916 | if (NATNUMP (param_index) | ||
| 917 | && (XFASTINT (param_index) | ||
| 918 | < sizeof (x_frame_parms)/sizeof (x_frame_parms[0]))) | ||
| 919 | (*x_frame_parms[XINT (param_index)].setter)(f, val, old_value); | ||
| 920 | } | ||
| 916 | } | 921 | } |
| 917 | } | 922 | } |
| 918 | 923 | ||
| @@ -943,13 +948,18 @@ x_set_frame_parameters (f, alist) | |||
| 943 | { | 948 | { |
| 944 | register Lisp_Object param_index, old_value; | 949 | register Lisp_Object param_index, old_value; |
| 945 | 950 | ||
| 946 | param_index = Fget (prop, Qx_frame_parameter); | ||
| 947 | old_value = get_frame_param (f, prop); | 951 | old_value = get_frame_param (f, prop); |
| 948 | store_frame_param (f, prop, val); | 952 | |
| 949 | if (NATNUMP (param_index) | 953 | if (NILP (Fequal (val, old_value))) |
| 950 | && (XFASTINT (param_index) | 954 | { |
| 951 | < sizeof (x_frame_parms)/sizeof (x_frame_parms[0]))) | 955 | store_frame_param (f, prop, val); |
| 952 | (*x_frame_parms[XINT (param_index)].setter)(f, val, old_value); | 956 | |
| 957 | param_index = Fget (prop, Qx_frame_parameter); | ||
| 958 | if (NATNUMP (param_index) | ||
| 959 | && (XFASTINT (param_index) | ||
| 960 | < sizeof (x_frame_parms)/sizeof (x_frame_parms[0]))) | ||
| 961 | (*x_frame_parms[XINT (param_index)].setter)(f, val, old_value); | ||
| 962 | } | ||
| 953 | } | 963 | } |
| 954 | } | 964 | } |
| 955 | 965 | ||