aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-01-05 10:16:06 +0800
committerPo Lu2022-01-05 10:16:56 +0800
commita7dbbcac571ebf07ec89a09cc8d9bc4fdf2ae063 (patch)
tree14cf6f606d12035472d3c56475d7863a27a1b54e /src
parent6719a3ccabec33e010aa4a42be2ee07e4e219b3c (diff)
downloademacs-a7dbbcac571ebf07ec89a09cc8d9bc4fdf2ae063.tar.gz
emacs-a7dbbcac571ebf07ec89a09cc8d9bc4fdf2ae063.zip
Fix display of internal border in child frames on pgtk
* src/pgtkfns.c (Fx_create_frame): Fix child frame border resource names. * src/pgtkterm.c (pgtk_clear_under_internal_border): Fix test for child frames. (bug#53018)
Diffstat (limited to 'src')
-rw-r--r--src/pgtkfns.c14
-rw-r--r--src/pgtkterm.c3
2 files changed, 8 insertions, 9 deletions
diff --git a/src/pgtkfns.c b/src/pgtkfns.c
index 5d596861b8f..e94c2dfb30f 100644
--- a/src/pgtkfns.c
+++ b/src/pgtkfns.c
@@ -1454,9 +1454,6 @@ This function is an internal primitive--use `make-frame' instead. */ )
1454 gui_default_parameter (f, parms, Qborder_width, make_fixnum (0), 1454 gui_default_parameter (f, parms, Qborder_width, make_fixnum (0),
1455 "borderWidth", "BorderWidth", RES_TYPE_NUMBER); 1455 "borderWidth", "BorderWidth", RES_TYPE_NUMBER);
1456 1456
1457 /* This defaults to 1 in order to match xterm. We recognize either
1458 internalBorderWidth or internalBorder (which is what xterm calls
1459 it). */
1460 if (NILP (Fassq (Qinternal_border_width, parms))) 1457 if (NILP (Fassq (Qinternal_border_width, parms)))
1461 { 1458 {
1462 Lisp_Object value; 1459 Lisp_Object value;
@@ -1468,13 +1465,18 @@ This function is an internal primitive--use `make-frame' instead. */ )
1468 parms = Fcons (Fcons (Qinternal_border_width, value), parms); 1465 parms = Fcons (Fcons (Qinternal_border_width, value), parms);
1469 } 1466 }
1470 1467
1468 gui_default_parameter (f, parms, Qinternal_border_width,
1469 make_fixnum (0),
1470 "internalBorderWidth", "internalBorderWidth",
1471 RES_TYPE_NUMBER);
1472
1471 /* Same for child frames. */ 1473 /* Same for child frames. */
1472 if (NILP (Fassq (Qchild_frame_border_width, parms))) 1474 if (NILP (Fassq (Qchild_frame_border_width, parms)))
1473 { 1475 {
1474 Lisp_Object value; 1476 Lisp_Object value;
1475 1477
1476 value = gui_display_get_arg (dpyinfo, parms, Qchild_frame_border_width, 1478 value = gui_display_get_arg (dpyinfo, parms, Qchild_frame_border_width,
1477 "childFrameBorderWidth", "childFrameBorderWidth", 1479 "childFrameBorder", "childFrameBorder",
1478 RES_TYPE_NUMBER); 1480 RES_TYPE_NUMBER);
1479 if (! EQ (value, Qunbound)) 1481 if (! EQ (value, Qunbound))
1480 parms = Fcons (Fcons (Qchild_frame_border_width, value), 1482 parms = Fcons (Fcons (Qchild_frame_border_width, value),
@@ -1486,10 +1488,6 @@ This function is an internal primitive--use `make-frame' instead. */ )
1486 make_fixnum (0), 1488 make_fixnum (0),
1487 "childFrameBorderWidth", "childFrameBorderWidth", 1489 "childFrameBorderWidth", "childFrameBorderWidth",
1488 RES_TYPE_NUMBER); 1490 RES_TYPE_NUMBER);
1489 gui_default_parameter (f, parms, Qinternal_border_width,
1490 make_fixnum (0),
1491 "internalBorderWidth", "internalBorderWidth",
1492 RES_TYPE_NUMBER);
1493 gui_default_parameter (f, parms, Qright_divider_width, make_fixnum (0), 1491 gui_default_parameter (f, parms, Qright_divider_width, make_fixnum (0),
1494 NULL, NULL, RES_TYPE_NUMBER); 1492 NULL, NULL, RES_TYPE_NUMBER);
1495 gui_default_parameter (f, parms, Qbottom_divider_width, make_fixnum (0), 1493 gui_default_parameter (f, parms, Qbottom_divider_width, make_fixnum (0),
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index 3093083a82c..736fce09c4a 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -4957,7 +4957,8 @@ void
4957pgtk_clear_under_internal_border (struct frame *f) 4957pgtk_clear_under_internal_border (struct frame *f)
4958{ 4958{
4959 if (FRAME_INTERNAL_BORDER_WIDTH (f) > 0 4959 if (FRAME_INTERNAL_BORDER_WIDTH (f) > 0
4960 && gtk_widget_get_realized (FRAME_GTK_OUTER_WIDGET (f))) 4960 && (!FRAME_GTK_OUTER_WIDGET (f)
4961 || gtk_widget_get_realized (FRAME_GTK_OUTER_WIDGET (f))))
4961 { 4962 {
4962 int border = FRAME_INTERNAL_BORDER_WIDTH (f); 4963 int border = FRAME_INTERNAL_BORDER_WIDTH (f);
4963 int width = FRAME_PIXEL_WIDTH (f); 4964 int width = FRAME_PIXEL_WIDTH (f);