cui/uiconfig/ui/positionsizedialog.ui | 167 ++--------- cui/uiconfig/ui/rotationtabpage.ui | 142 +++++----- cui/uiconfig/ui/slantcornertabpage.ui | 224 ++++++++-------- svx/source/accessibility/svxrectctaccessiblecontext.cxx | 6 vcl/inc/qt5/QtInstanceDrawingArea.hxx | 7 vcl/qt5/QtInstanceBuilder.cxx | 6 vcl/qt5/QtInstanceDrawingArea.cxx | 14 - 7 files changed, 237 insertions(+), 329 deletions(-)
New commits: commit b8347a4f581c92ef8c21dc0de83ff6da5306fbe1 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Jul 18 09:57:40 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri Jul 18 12:14:05 2025 +0200 cui: Resave positionsizedialog.ui and tab pages with glade 3.40 To trigger the dialog: * create new Impress presentation * select the title frame * right-click to open context menu * select the "Position and Size..." context entry Change-Id: Ic3a08d47221b364107830926406a3d16826ca33c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188034 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/cui/uiconfig/ui/positionsizedialog.ui b/cui/uiconfig/ui/positionsizedialog.ui index 2fe4f2d7f64f..d687eced33b2 100644 --- a/cui/uiconfig/ui/positionsizedialog.ui +++ b/cui/uiconfig/ui/positionsizedialog.ui @@ -1,34 +1,31 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.40.0 --> <interface domain="cui"> <requires lib="gtk+" version="3.20"/> <object class="GtkDialog" id="PositionAndSizeDialog"> - <property name="can_focus">False</property> - <property name="border_width">6</property> + <property name="can-focus">False</property> + <property name="border-width">6</property> <property name="title" translatable="yes" context="positionsizedialog|PositionAndSizeDialog">Position and Size</property> <property name="resizable">False</property> <property name="modal">True</property> - <property name="default_width">0</property> - <property name="default_height">0</property> - <property name="type_hint">dialog</property> - <child> - <placeholder/> - </child> + <property name="default-width">0</property> + <property name="default-height">0</property> + <property name="type-hint">dialog</property> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox1"> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="orientation">vertical</property> <property name="spacing">12</property> <child internal-child="action_area"> <object class="GtkButtonBox" id="dialog-action_area1"> - <property name="can_focus">False</property> - <property name="layout_style">end</property> + <property name="can-focus">False</property> + <property name="layout-style">end</property> <child> <object class="GtkButton" id="reset"> <property name="label" translatable="yes" context="stock">_Reset</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <property name="use-underline">True</property> </object> <packing> @@ -41,10 +38,10 @@ <object class="GtkButton" id="ok"> <property name="label" translatable="yes" context="stock">_OK</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="can-default">True</property> + <property name="has-default">True</property> + <property name="receives-default">True</property> <property name="use-underline">True</property> </object> <packing> @@ -57,8 +54,8 @@ <object class="GtkButton" id="cancel"> <property name="label" translatable="yes" context="stock">_Cancel</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <property name="use-underline">True</property> </object> <packing> @@ -71,8 +68,8 @@ <object class="GtkButton" id="help"> <property name="label" translatable="yes" context="stock">_Help</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <property name="use-underline">True</property> </object> <packing> @@ -86,47 +83,23 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="pack_type">end</property> + <property name="pack-type">end</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkNotebook" id="tabcontrol"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> <property name="hexpand">True</property> <property name="vexpand">True</property> <property name="scrollable">True</property> - <property name="enable_popup">True</property> + <property name="enable-popup">True</property> <child> <!-- n-columns=1 n-rows=1 --> <object class="GtkGrid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> + <property name="can-focus">False</property> <child> <placeholder/> </child> @@ -135,42 +108,18 @@ <child type="tab"> <object class="GtkLabel" id="RID_SVXPAGE_POSITION_SIZE"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="positionsizedialog|RID_SVXPAGE_POSITION_SIZE">Position and Size</property> </object> <packing> - <property name="tab_fill">False</property> + <property name="tab-fill">False</property> </packing> </child> <child> <!-- n-columns=1 n-rows=1 --> <object class="GtkGrid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> + <property name="can-focus">False</property> <child> <placeholder/> </child> @@ -182,43 +131,19 @@ <child type="tab"> <object class="GtkLabel" id="RID_SVXPAGE_SWPOSSIZE"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="positionsizedialog|RID_SVXPAGE_SWPOSSIZE">Position and Size</property> </object> <packing> <property name="position">1</property> - <property name="tab_fill">False</property> + <property name="tab-fill">False</property> </packing> </child> <child> <!-- n-columns=1 n-rows=1 --> <object class="GtkGrid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> + <property name="can-focus">False</property> <child> <placeholder/> </child> @@ -230,43 +155,19 @@ <child type="tab"> <object class="GtkLabel" id="RID_SVXPAGE_ANGLE"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="positionsizedialog|RID_SVXPAGE_ANGLE">Rotation</property> </object> <packing> <property name="position">2</property> - <property name="tab_fill">False</property> + <property name="tab-fill">False</property> </packing> </child> <child> <!-- n-columns=1 n-rows=1 --> <object class="GtkGrid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> + <property name="can-focus">False</property> <child> <placeholder/> </child> @@ -278,12 +179,12 @@ <child type="tab"> <object class="GtkLabel" id="RID_SVXPAGE_SLANT"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="positionsizedialog|RID_SVXPAGE_SLANT">Slant & Corner Radius</property> </object> <packing> <property name="position">3</property> - <property name="tab_fill">False</property> + <property name="tab-fill">False</property> </packing> </child> </object> diff --git a/cui/uiconfig/ui/rotationtabpage.ui b/cui/uiconfig/ui/rotationtabpage.ui index 8fc381928d76..eeaba0544e2f 100644 --- a/cui/uiconfig/ui/rotationtabpage.ui +++ b/cui/uiconfig/ui/rotationtabpage.ui @@ -1,87 +1,87 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.36.0 --> +<!-- Generated with glade 3.40.0 --> <interface domain="cui"> <requires lib="gtk+" version="3.20"/> <object class="GtkAdjustment" id="adjustmentANGLE"> <property name="upper">360</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="adjustmentPOS1"> <property name="lower">-500</property> <property name="upper">50000</property> - <property name="step_increment">10</property> - <property name="page_increment">10</property> + <property name="step-increment">10</property> + <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="adjustmentPOS2"> <property name="lower">-500</property> <property name="upper">50000</property> - <property name="step_increment">10</property> - <property name="page_increment">10</property> + <property name="step-increment">10</property> + <property name="page-increment">10</property> </object> <object class="GtkBox" id="Rotation"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="border_width">6</property> + <property name="can-focus">False</property> + <property name="border-width">6</property> <property name="orientation">vertical</property> <property name="spacing">12</property> <child> <object class="GtkFrame" id="FL_POSITION"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> <child> <object class="GtkBox" id="box2"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="spacing">12</property> - <property name="homogeneous">True</property> + <property name="can-focus">False</property> <property name="margin-start">12</property> <property name="margin-top">6</property> + <property name="spacing">12</property> + <property name="homogeneous">True</property> <child> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=2 n-rows=2 --> <object class="GtkGrid" id="grid1"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> <object class="GtkLabel" id="FT_POS_X"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="rotationtabpage|FT_POS_X">Position _X:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_POS_X</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">MTR_FLD_POS_X</property> <property name="xalign">0</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkLabel" id="FT_POS_Y"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="rotationtabpage|FT_POS_Y">Position _Y:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_POS_Y</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">MTR_FLD_POS_Y</property> <property name="xalign">0</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkSpinButton" id="MTR_FLD_POS_X"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustmentPOS1</property> <property name="digits">2</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="MTR_FLD_POS_X-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="rotationtabpage|extended_tip|MTR_FLD_POS_X">Enter the horizontal distance from the left edge of the page to the pivot point.</property> @@ -89,18 +89,18 @@ </child> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> + <property name="left-attach">1</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkSpinButton" id="MTR_FLD_POS_Y"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustmentPOS2</property> <property name="digits">2</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="MTR_FLD_POS_Y-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="rotationtabpage|extended_tip|MTR_FLD_POS_Y">Enter the vertical distance from the top edge of the page to the pivot point.</property> @@ -108,8 +108,8 @@ </child> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> + <property name="left-attach">1</property> + <property name="top-attach">1</property> </packing> </child> </object> @@ -122,28 +122,28 @@ <child> <object class="GtkBox" id="box3"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <object class="GtkScrolledWindow"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> <property name="halign">center</property> <property name="valign">center</property> - <property name="hscrollbar_policy">never</property> - <property name="vscrollbar_policy">never</property> - <property name="shadow_type">in</property> + <property name="hscrollbar-policy">never</property> + <property name="vscrollbar-policy">never</property> + <property name="shadow-type">in</property> <child> <object class="GtkViewport"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <child> <object class="GtkDrawingArea" id="CTL_RECT"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK</property> - <property name="tooltip_text" translatable="yes" context="rotationtabpage|CTL_RECT|tooltip_text">Rotation point</property> + <property name="tooltip-text" translatable="yes" context="rotationtabpage|CTL_RECT|tooltip_text">Rotation point</property> <child internal-child="accessible"> <object class="AtkObject" id="CTL_RECT-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="rotationtabpage|extended_tip|CTL_RECT">Click where you want to place the pivot point.</property> @@ -163,10 +163,10 @@ <child> <object class="GtkLabel" id="FT_POSPRESETS"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="rotationtabpage|FT_POSPRESETS">_Default settings:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">CTL_RECT</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">CTL_RECT</property> </object> <packing> <property name="expand">False</property> @@ -186,7 +186,7 @@ <child type="label"> <object class="GtkLabel" id="label1"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="rotationtabpage|label1">Pivot Point</property> <property name="xalign">0</property> <attributes> @@ -204,30 +204,30 @@ <child> <object class="GtkFrame" id="FL_ANGLE"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> <child> <object class="GtkBox" id="box4"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="spacing">12</property> - <property name="homogeneous">True</property> + <property name="can-focus">False</property> <property name="margin-start">12</property> <property name="margin-top">6</property> + <property name="spacing">12</property> + <property name="homogeneous">True</property> <child> <object class="GtkBox" id="box5"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="valign">start</property> <property name="spacing">12</property> <child> <object class="GtkLabel" id="FT_ANGLE"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="rotationtabpage|FT_ANGLE">_Angle:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">NF_ANGLE</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">NF_ANGLE</property> <property name="xalign">0</property> </object> <packing> @@ -239,12 +239,12 @@ <child> <object class="GtkSpinButton" id="NF_ANGLE"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustmentANGLE</property> <property name="digits">2</property> <property name="wrap">True</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="NF_ANGLE-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="rotationtabpage|extended_tip|NF_ANGLE">Enter the number of degrees that you want to rotate the selected object.</property> @@ -267,15 +267,15 @@ <child> <object class="GtkBox" id="box6"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <object class="GtkDrawingArea" id="CTL_ANGLE"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK</property> - <property name="tooltip_text" translatable="yes" context="rotationtabpage|CTL_ANGLE|tooltip_text">Rotation Angle</property> + <property name="tooltip-text" translatable="yes" context="rotationtabpage|CTL_ANGLE|tooltip_text">Rotation Angle</property> <property name="halign">center</property> <child internal-child="accessible"> <object class="AtkObject" id="CTL_ANGLE-atkobject"> @@ -292,10 +292,10 @@ <child> <object class="GtkLabel" id="FT_ANGLEPRESETS"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="rotationtabpage|FT_ANGLEPRESETS">Default _settings:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">CTL_ANGLE</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">CTL_ANGLE</property> </object> <packing> <property name="expand">False</property> @@ -315,7 +315,7 @@ <child type="label"> <object class="GtkLabel" id="label2"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="rotationtabpage|label2">Rotation Angle</property> <property name="xalign">0</property> <attributes> diff --git a/cui/uiconfig/ui/slantcornertabpage.ui b/cui/uiconfig/ui/slantcornertabpage.ui index ca8dca1bdcb0..bc995d794e30 100644 --- a/cui/uiconfig/ui/slantcornertabpage.ui +++ b/cui/uiconfig/ui/slantcornertabpage.ui @@ -1,73 +1,73 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.36.0 --> +<!-- Generated with glade 3.40.0 --> <interface domain="cui"> <requires lib="gtk+" version="3.20"/> <object class="GtkAdjustment" id="adjustment1"> <property name="upper">100</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="adjustment2"> <property name="upper">100</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="adjustment3"> <property name="upper">100</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="adjustment4"> <property name="upper">100</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="adjustmentRADIUS"> <property name="upper">500</property> - <property name="step_increment">10</property> - <property name="page_increment">10</property> + <property name="step-increment">10</property> + <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="adjustmentSLANT"> <property name="lower">-89</property> <property name="upper">89</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> </object> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=2 n-rows=2 --> <object class="GtkGrid" id="SlantAndCornerRadius"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="border_width">6</property> - <property name="row_spacing">24</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="border-width">6</property> + <property name="row-spacing">24</property> + <property name="column-spacing">12</property> <child> <object class="GtkFrame" id="controlgroups1"> <property name="visible">True</property> <property name="sensitive">False</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> <child> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=1 n-rows=2 --> <object class="GtkGrid" id="grid1"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="row_spacing">12</property> - <property name="column_spacing">6</property> + <property name="can-focus">False</property> <property name="margin-start">12</property> <property name="margin-top">6</property> + <property name="row-spacing">12</property> + <property name="column-spacing">6</property> <child> <object class="GtkBox" id="controlgroupx1"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="spacing">12</property> <child> <object class="GtkLabel" id="label5"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|label5">_X:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">controlx1</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">controlx1</property> <property name="xalign">0</property> </object> <packing> @@ -79,11 +79,11 @@ <child> <object class="GtkSpinButton" id="controlx1"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustment1</property> <property name="digits">2</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="controlx1-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="slantcornertabpage|extended_tip|controlx1">Enter the X coordinate of the control point 1</property> @@ -98,22 +98,22 @@ </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkBox" id="controlgroupy1"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="spacing">12</property> <child> <object class="GtkLabel" id="label6"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|label6">_Y:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">controly1</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">controly1</property> <property name="xalign">0</property> </object> <packing> @@ -125,11 +125,11 @@ <child> <object class="GtkSpinButton" id="controly1"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustment3</property> <property name="digits">2</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="controly1-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="slantcornertabpage|extended_tip|controly1">Enter the Y coordinate of the control point 1</property> @@ -144,8 +144,8 @@ </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> </object> @@ -153,7 +153,7 @@ <child type="label"> <object class="GtkLabel" id="label3"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|label3">Control Point 1</property> <property name="xalign">0</property> <attributes> @@ -163,46 +163,46 @@ </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkFrame" id="FL_RADIUS"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> <child> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=2 n-rows=1 --> <object class="GtkGrid" id="grid2"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> <property name="margin-start">12</property> <property name="margin-top">6</property> + <property name="column-spacing">12</property> <child> <object class="GtkLabel" id="FT_RADIUS"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|FT_RADIUS">_Radius:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_RADIUS</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">MTR_FLD_RADIUS</property> <property name="xalign">0</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkSpinButton" id="MTR_FLD_RADIUS"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustmentRADIUS</property> <property name="digits">2</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="MTR_FLD_RADIUS-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="slantcornertabpage|extended_tip|MTR_FLD_RADIUS">Enter the radius of the circle that you want to use to round the corners.</property> @@ -210,8 +210,8 @@ </child> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> + <property name="left-attach">1</property> + <property name="top-attach">0</property> </packing> </child> </object> @@ -219,7 +219,7 @@ <child type="label"> <object class="GtkLabel" id="label1"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|label1">Corner Radius</property> <property name="xalign">0</property> <attributes> @@ -229,46 +229,46 @@ </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkFrame" id="FL_SLANT"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> <child> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=2 n-rows=1 --> <object class="GtkGrid" id="grid3"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> <property name="margin-start">12</property> <property name="margin-top">6</property> + <property name="column-spacing">12</property> <child> <object class="GtkLabel" id="FT_ANGLE"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|FT_ANGLE">_Angle:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_ANGLE</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">MTR_FLD_ANGLE</property> <property name="xalign">0</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkSpinButton" id="MTR_FLD_ANGLE"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustmentSLANT</property> <property name="digits">2</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="MTR_FLD_ANGLE-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="slantcornertabpage|extended_tip|MTR_FLD_ANGLE">Enter the angle of the slant axis.</property> @@ -276,8 +276,8 @@ </child> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> + <property name="left-attach">1</property> + <property name="top-attach">0</property> </packing> </child> </object> @@ -285,7 +285,7 @@ <child type="label"> <object class="GtkLabel" id="label2"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|label2">Slant</property> <property name="xalign">0</property> <attributes> @@ -295,38 +295,38 @@ </child> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> + <property name="left-attach">1</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkFrame" id="controlgroups2"> <property name="visible">True</property> <property name="sensitive">False</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> <child> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=1 n-rows=2 --> <object class="GtkGrid" id="grid4"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="row_spacing">12</property> - <property name="column_spacing">6</property> + <property name="can-focus">False</property> <property name="margin-start">12</property> <property name="margin-top">6</property> + <property name="row-spacing">12</property> + <property name="column-spacing">6</property> <child> <object class="GtkBox" id="controlgroupx2"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="spacing">12</property> <child> <object class="GtkLabel" id="label4"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|label4">_X:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">controlx2</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">controlx2</property> <property name="xalign">0</property> </object> <packing> @@ -338,11 +338,11 @@ <child> <object class="GtkSpinButton" id="controlx2"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustment2</property> <property name="digits">2</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="controlx2-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="slantcornertabpage|extended_tip|controlx2">Enter the X coordinate of the control point 2</property> @@ -357,22 +357,22 @@ </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkBox" id="controlgroupy2"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="spacing">12</property> <child> <object class="GtkLabel" id="label7"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|label7">_Y:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">controly2</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">controly2</property> <property name="xalign">0</property> </object> <packing> @@ -384,11 +384,11 @@ <child> <object class="GtkSpinButton" id="controly2"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> <property name="adjustment">adjustment4</property> <property name="digits">2</property> - <property name="truncate-multiline">True</property> <child internal-child="accessible"> <object class="AtkObject" id="controly2-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="slantcornertabpage|extended_tip|controly2">Enter the Y coordinate of the control point 2</property> @@ -403,8 +403,8 @@ </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> </object> @@ -412,7 +412,7 @@ <child type="label"> <object class="GtkLabel" id="label8"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes" context="slantcornertabpage|label8">Control Point 2</property> <property name="xalign">0</property> <attributes> @@ -422,8 +422,8 @@ </child> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> + <property name="left-attach">1</property> + <property name="top-attach">1</property> </packing> </child> <child internal-child="accessible"> commit e4776cff621733c88cee3da2fa817ba9758d835e Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Jul 18 09:49:01 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri Jul 18 12:13:58 2025 +0200 svx a11y: Drop misleading comments These implementations can very well return non-empty references with actual relations. Change-Id: I9d8e9e048262f334d8b2d0e4090bc9f3f90c5557 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188033 Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> Tested-by: Jenkins diff --git a/svx/source/accessibility/svxrectctaccessiblecontext.cxx b/svx/source/accessibility/svxrectctaccessiblecontext.cxx index 8d6b983b7c08..33a0ed99bd8e 100644 --- a/svx/source/accessibility/svxrectctaccessiblecontext.cxx +++ b/svx/source/accessibility/svxrectctaccessiblecontext.cxx @@ -190,9 +190,6 @@ OUString SAL_CALL SvxRectCtlAccessibleContext::getAccessibleName() return msName; } -/** Return empty reference to indicate that the relation set is not - supported. -*/ Reference< XAccessibleRelationSet > SAL_CALL SvxRectCtlAccessibleContext::getAccessibleRelationSet() { ::osl::MutexGuard aGuard( m_aMutex ); @@ -472,9 +469,6 @@ OUString SAL_CALL SvxRectCtlChildAccessibleContext::getAccessibleName() return msName; } -/** Return empty reference to indicate that the relation set is not - supported. -*/ Reference<XAccessibleRelationSet> SAL_CALL SvxRectCtlChildAccessibleContext::getAccessibleRelationSet() { rtl::Reference<utl::AccessibleRelationSetHelper> pRelationSetHelper = new utl::AccessibleRelationSetHelper; commit e62c556786d327b30115c7fcf38734c6178e238b Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Jul 18 09:31:39 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri Jul 18 12:13:52 2025 +0200 tdf#130857 qt weld a11y: Dispose DrawingArea accessible When a custom accessible is set for a QtInstanceDrawingArea, dispose it in the ctor, as the QtInstanceDrawingArea is the owner. Also move the call to QtAccessibleWidget::setCustomAccessible to the QtInstanceDrawingArea ctor, to have a11y-related logic in one place/class. This fixes crashes seen when closing the "Text Attributes" dialog newly supported since Change-Id: I2e9d9a4c24251c0a0119cb6a9133ad02b70ebee0 Author: Michael Weghorn <m.wegh...@posteo.de> Date: Fri Jul 18 09:19:54 2025 +0200 tdf#130857 qt weld: Support "Text Attributes" dialog where free(): chunks in smallbin corrupted was shown on stderr. Sample valgrind output: ==1368876== Invalid read of size 1 ==1368876== at 0x6669AC2: cppu::WeakComponentImplHelperBase::release() (implbase.cxx:84) ==1368876== by 0x95EB034: cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessible, com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleExtendedComponent>::release() (compbase.hxx:86) ==1368876== by 0x9654CE4: cppu::ImplInheritanceHelper<comphelper::OAccessible, com::sun::star::accessibility::XAccessibleSelection>::release() (implbase.hxx:171) ==1368876== by 0x965C9E4: cppu::ImplInheritanceHelper<comphelper::OAccessibleSelectionHelper>::release() (implbase.hxx:171) ==1368876== by 0x1681B489: com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>::~Reference() (Reference.hxx:114) ==1368876== by 0x168345BC: QtAccessibleWidget::~QtAccessibleWidget() (QtAccessibleWidget.hxx:41) ==1368876== by 0x16834668: QtAccessibleWidget::~QtAccessibleWidget() (QtAccessibleWidget.hxx:41) ==1368876== by 0x181E2FC7: QAccessibleCache::deleteInterface(unsigned int, QObject*) (qaccessiblecache.cpp:173) ==1368876== by 0x181E3912: QAccessibleCache::objectDestroyed(QObject*) (qaccessiblecache.cpp:158) ==1368876== by 0x181EA42A: QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QObject*>, void, void (QAccessibleCache::*)(QObject*)>::call(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**)::{lambda()#1}::operator()() const (qobjectdefs_impl.h:127) ==1368876== by 0x181EA33C: void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QObject*>, void, void (QAccessibleCache::*)(QObject*)>::call(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QObject*>, void, void (QAccessibleCache::*)(QObject*)>::call(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**)::{lambda()#1}&&) (qobjectdefs_impl.h:65) ==1368876== by 0x181EA256: QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QObject*>, void, void (QAccessibleCache::*)(QObject*)>::call(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**) (qobjectdefs_impl.h:126) ==1368876== by 0x181EA1C0: void QtPrivate::FunctionPointer<void (QAccessibleCache::*)(QObject*)>::call<QtPrivate::List<QObject*>, void>(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**) (qobjectdefs_impl.h:174) ==1368876== by 0x181EA0EA: QtPrivate::QCallableObject<void (QAccessibleCache::*)(QObject*), QtPrivate::List<QObject*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (qobjectdefs_impl.h:545) ==1368876== by 0x16D7DB21: QtPrivate::QSlotObjectBase::call(QObject*, void**) (qobjectdefs_impl.h:461) ==1368876== by 0x16FA325E: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4343) ==1368876== by 0x16F99342: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:4403) ==1368876== by 0x16FA3D2A: void QMetaObject::activate<void, QObject*>(QObject*, QMetaObject const*, int, void*, QObject* const&) (qobjectdefs.h:319) ==1368876== by 0x16F8E648: QObject::destroyed(QObject*) (moc_qobject.cpp:186) ==1368876== by 0x18BFB7DB: QWidget::~QWidget() (qwidget.cpp:1545) ==1368876== by 0x18CCB378: QFrame::~QFrame() (qframe.cpp:235) ==1368876== by 0x18E57211: QLabel::~QLabel() (qlabel.cpp:191) ==1368876== by 0x18E5746C: QLabel::~QLabel() (qlabel.cpp:188) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18CCB378: QFrame::~QFrame() (qframe.cpp:235) ==1368876== by 0x18CC492C: QAbstractScrollArea::~QAbstractScrollArea() (qabstractscrollarea.cpp:481) ==1368876== by 0x18F2DA38: QScrollArea::~QScrollArea() (qscrollarea.cpp:129) ==1368876== by 0x18F2DA7C: QScrollArea::~QScrollArea() (qscrollarea.cpp:128) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18E4C858: QGroupBox::~QGroupBox() (qgroupbox.cpp:171) ==1368876== by 0x18E4C89C: QGroupBox::~QGroupBox() (qgroupbox.cpp:170) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8F26D: QObject::event(QEvent*) (qobject.cpp:1510) ==1368876== by 0x18C152FD: QWidget::event(QEvent*) (qwidget.cpp:9446) ==1368876== by 0x18B530BF: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3307) ==1368876== by 0x18B56FA3: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3253) ==1368876== by 0x16EC8698: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1109) ==1368876== by 0x16EC9308: QCoreApplication::sendEvent(QObject*, QEvent*) (qcoreapplication.cpp:1549) ==1368876== by 0x16ECA239: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1904) ==1368876== by 0x16EC914B: QCoreApplication::sendPostedEvents(QObject*, int) (qcoreapplication.cpp:1757) ==1368876== by 0x174CA5E0: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:246) ==1368876== by 0x130A53C4: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.3) ==1368876== by 0x130A75F6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.3) ==1368876== by 0x130A7D5F: g_main_context_iteration (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.3) ==1368876== by 0x174C981A: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:399) ==1368876== by 0x18469667: QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:89) ==1368876== by 0x168D4891: QtInstance::ImplYield(bool, bool) (QtInstance.cxx:499) ==1368876== by 0x168D7B90: QtInstance::DoYield(bool, bool) (QtInstance.cxx:510) ==1368876== by 0xDEA2705: ImplYield(bool, bool) (svapp.cxx:385) ==1368876== by 0xDEA201E: Application::Yield() (svapp.cxx:488) ==1368876== by 0xDEA1DFF: Application::Execute() (svapp.cxx:360) ==1368876== by 0x4ABE864: desktop::Desktop::Main() (app.cxx:1678) ==1368876== by 0xDECE595: ImplSVMain() (svmain.cxx:230) ==1368876== by 0xDED0088: SVMain() (svmain.cxx:248) ==1368876== by 0x4B39179: soffice_main (sofficemain.cxx:122) ==1368876== by 0x1099FC: sal_main (main.c:51) ==1368876== by 0x1099D6: main (main.c:49) ==1368876== Address 0x2379f350 is 64 bytes inside a block of size 232 free'd ==1368876== at 0x484787F: free (vg_replace_malloc.c:989) ==1368876== by 0x48D9C34: rtl_freeMemory (alloc_global.cxx:43) ==1368876== by 0x95C6894: cppu::WeakComponentImplHelperBase::operator delete(void*) (compbase_ex.hxx:70) ==1368876== by 0x96588F1: SvxRectCtlAccessibleContext::~SvxRectCtlAccessibleContext() (svxrectctaccessiblecontext.cxx:111) ==1368876== by 0x675CF94: cppu::OWeakObject::release() (weak.cxx:230) ==1368876== by 0x6669B05: cppu::WeakComponentImplHelperBase::release() (implbase.cxx:86) ==1368876== by 0x95EB034: cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessible, com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleExtendedComponent>::release() (compbase.hxx:86) ==1368876== by 0x9654CE4: cppu::ImplInheritanceHelper<comphelper::OAccessible, com::sun::star::accessibility::XAccessibleSelection>::release() (implbase.hxx:171) ==1368876== by 0x965C9E4: cppu::ImplInheritanceHelper<comphelper::OAccessibleSelectionHelper>::release() (implbase.hxx:171) ==1368876== by 0x661E579: com::sun::star::uno::Reference<com::sun::star::uno::XInterface>::~Reference() (Reference.hxx:114) ==1368876== by 0x662BB54: com::sun::star::lang::EventObject::~EventObject() (EventObject.hdl:18) ==1368876== by 0x6669D31: cppu::WeakComponentImplHelperBase::dispose() (implbase.cxx:118) ==1368876== by 0x95C91B4: cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessible, com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleExtendedComponent>::dispose() (compbase.hxx:90) ==1368876== by 0x6669946: cppu::WeakComponentImplHelperBase::release() (implbase.cxx:79) ==1368876== by 0x95EB034: cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessible, com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleExtendedComponent>::release() (compbase.hxx:86) ==1368876== by 0x9654CE4: cppu::ImplInheritanceHelper<comphelper::OAccessible, com::sun::star::accessibility::XAccessibleSelection>::release() (implbase.hxx:171) ==1368876== by 0x965C9E4: cppu::ImplInheritanceHelper<comphelper::OAccessibleSelectionHelper>::release() (implbase.hxx:171) ==1368876== by 0x1681B489: com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>::~Reference() (Reference.hxx:114) ==1368876== by 0x168345BC: QtAccessibleWidget::~QtAccessibleWidget() (QtAccessibleWidget.hxx:41) ==1368876== by 0x16834668: QtAccessibleWidget::~QtAccessibleWidget() (QtAccessibleWidget.hxx:41) ==1368876== by 0x181E2FC7: QAccessibleCache::deleteInterface(unsigned int, QObject*) (qaccessiblecache.cpp:173) ==1368876== by 0x181E3912: QAccessibleCache::objectDestroyed(QObject*) (qaccessiblecache.cpp:158) ==1368876== by 0x181EA42A: QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QObject*>, void, void (QAccessibleCache::*)(QObject*)>::call(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**)::{lambda()#1}::operator()() const (qobjectdefs_impl.h:127) ==1368876== by 0x181EA33C: void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QObject*>, void, void (QAccessibleCache::*)(QObject*)>::call(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QObject*>, void, void (QAccessibleCache::*)(QObject*)>::call(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**)::{lambda()#1}&&) (qobjectdefs_impl.h:65) ==1368876== by 0x181EA256: QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QObject*>, void, void (QAccessibleCache::*)(QObject*)>::call(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**) (qobjectdefs_impl.h:126) ==1368876== by 0x181EA1C0: void QtPrivate::FunctionPointer<void (QAccessibleCache::*)(QObject*)>::call<QtPrivate::List<QObject*>, void>(void (QAccessibleCache::*)(QObject*), QAccessibleCache*, void**) (qobjectdefs_impl.h:174) ==1368876== by 0x181EA0EA: QtPrivate::QCallableObject<void (QAccessibleCache::*)(QObject*), QtPrivate::List<QObject*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (qobjectdefs_impl.h:545) ==1368876== by 0x16D7DB21: QtPrivate::QSlotObjectBase::call(QObject*, void**) (qobjectdefs_impl.h:461) ==1368876== by 0x16FA325E: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4343) ==1368876== by 0x16F99342: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:4403) ==1368876== by 0x16FA3D2A: void QMetaObject::activate<void, QObject*>(QObject*, QMetaObject const*, int, void*, QObject* const&) (qobjectdefs.h:319) ==1368876== by 0x16F8E648: QObject::destroyed(QObject*) (moc_qobject.cpp:186) ==1368876== by 0x18BFB7DB: QWidget::~QWidget() (qwidget.cpp:1545) ==1368876== by 0x18CCB378: QFrame::~QFrame() (qframe.cpp:235) ==1368876== by 0x18E57211: QLabel::~QLabel() (qlabel.cpp:191) ==1368876== by 0x18E5746C: QLabel::~QLabel() (qlabel.cpp:188) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18CCB378: QFrame::~QFrame() (qframe.cpp:235) ==1368876== by 0x18CC492C: QAbstractScrollArea::~QAbstractScrollArea() (qabstractscrollarea.cpp:481) ==1368876== by 0x18F2DA38: QScrollArea::~QScrollArea() (qscrollarea.cpp:129) ==1368876== by 0x18F2DA7C: QScrollArea::~QScrollArea() (qscrollarea.cpp:128) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18E4C858: QGroupBox::~QGroupBox() (qgroupbox.cpp:171) ==1368876== by 0x18E4C89C: QGroupBox::~QGroupBox() (qgroupbox.cpp:170) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8E73D: QObjectPrivate::deleteChildren() (qobject.cpp:2324) ==1368876== by 0x18BFB88B: QWidget::~QWidget() (qwidget.cpp:1565) ==1368876== by 0x18BFC3CC: QWidget::~QWidget() (qwidget.cpp:1457) ==1368876== by 0x16F8F26D: QObject::event(QEvent*) (qobject.cpp:1510) ==1368876== by 0x18C152FD: QWidget::event(QEvent*) (qwidget.cpp:9446) ==1368876== by 0x18B530BF: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3307) ==1368876== by 0x18B56FA3: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3253) ==1368876== by 0x16EC8698: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1109) ==1368876== by 0x16EC9308: QCoreApplication::sendEvent(QObject*, QEvent*) (qcoreapplication.cpp:1549) ==1368876== by 0x16ECA239: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1904) ==1368876== by 0x16EC914B: QCoreApplication::sendPostedEvents(QObject*, int) (qcoreapplication.cpp:1757) ==1368876== by 0x174CA5E0: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:246) ==1368876== by 0x130A53C4: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.3) ==1368876== by 0x130A75F6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.3) ==1368876== by 0x130A7D5F: g_main_context_iteration (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.3) ==1368876== by 0x174C981A: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:399) ==1368876== by 0x18469667: QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:89) ==1368876== by 0x168D4891: QtInstance::ImplYield(bool, bool) (QtInstance.cxx:499) ==1368876== by 0x168D7B90: QtInstance::DoYield(bool, bool) (QtInstance.cxx:510) ==1368876== by 0xDEA2705: ImplYield(bool, bool) (svapp.cxx:385) ==1368876== by 0xDEA201E: Application::Yield() (svapp.cxx:488) ==1368876== by 0xDEA1DFF: Application::Execute() (svapp.cxx:360) ==1368876== by 0x4ABE864: desktop::Desktop::Main() (app.cxx:1678) ==1368876== by 0xDECE595: ImplSVMain() (svmain.cxx:230) ==1368876== by 0xDED0088: SVMain() (svmain.cxx:248) ==1368876== by 0x4B39179: soffice_main (sofficemain.cxx:122) ==1368876== by 0x1099FC: sal_main (main.c:51) ==1368876== by 0x1099D6: main (main.c:49) ==1368876== Block was alloc'd at ==1368876== at 0x4844818: malloc (vg_replace_malloc.c:446) ==1368876== by 0x48D99F5: rtl_allocateMemory (alloc_global.cxx:30) ==1368876== by 0x9639404: cppu::WeakComponentImplHelperBase::operator new(unsigned long) (compbase_ex.hxx:68) ==1368876== by 0x974414C: SvxRectCtl::CreateAccessible() (dlgctrl.cxx:563) ==1368876== by 0xDDCA215: weld::CustomWeld::CustomWeld(weld::Builder&, rtl::OUString const&, weld::CustomWidgetController&) (customweld.cxx:24) ==1368876== by 0x3A7BFBCE: SvxTextAttrPage::SvxTextAttrPage(weld::Container*, weld::DialogController*, SfxItemSet const&) (textattr.cxx:73) ==1368876== by 0x3A7C372D: std::__detail::_MakeUniq<SvxTextAttrPage>::__single_object std::make_unique<SvxTextAttrPage, weld::Container*&, weld::DialogController*&, SfxItemSet const&>(weld::Container*&, weld::DialogController*&, SfxItemSet const&) (unique_ptr.h:1077) ==1368876== by 0x3A7C2938: SvxTextAttrPage::Create(weld::Container*, weld::DialogController*, SfxItemSet const*) (textattr.cxx:481) ==1368876== by 0x85DB0AC: SfxTabDialogController::CreatePages() (tabdlg.cxx:935) ==1368876== by 0x85DC058: SfxTabDialogController::Start_Impl() (tabdlg.cxx:1023) ==1368876== by 0x85DC41D: SfxTabDialogController::runAsync(std::shared_ptr<SfxTabDialogController> const&, std::function<void (int)> const&) (tabdlg.cxx:1076) ==1368876== by 0x3A4D1FF2: vcl::AbstractDialogImpl_BASE<SfxAbstractTabDialog, SvxTextTabDialog, std::shared_ptr, true>::StartExecuteAsync(VclAbstractDialog::AsyncContext&) (abstdlgimpl.hxx:52) ==1368876== by 0x28BF2C8D: VclAbstractDialog::StartExecuteAsync(std::function<void (int)> const&) (abstdlg.hxx:80) ==1368876== by 0x28C6DEF4: sd::FuTextAttrDlg::DoExecute(SfxRequest&) (futxtatt.cxx:66) ==1368876== by 0x28C6DC6A: sd::FuTextAttrDlg::Create(sd::ViewShell&, sd::Window*, sd::View*, SdDrawDocument&, SfxRequest&) (futxtatt.cxx:43) ==1368876== by 0x290102D6: sd::DrawViewShell::FuTemporary(SfxRequest&) (drviews2.cxx:2401) ==1368876== by 0x290850C4: SfxStubDrawViewShellFuTemporary(SfxShell*, SfxRequest&) (sdslots.hxx:1551) ==1368876== by 0x83E04FD: SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) (dispatch.cxx:256) ==1368876== by 0x83E4DA5: SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) (dispatch.cxx:755) ==1368876== by 0x83CD1CD: SfxBindings::Execute_Impl(SfxRequest&, SfxSlot const*, SfxShell*) (bindings.cxx:1046) ==1368876== by 0x84AD64C: SfxDispatchController_Impl::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) (unoctitm.cxx:736) ==1368876== by 0x84AC103: SfxOfficeDispatch::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (unoctitm.cxx:255) ==1368876== by 0x75D3D63: framework::(anonymous namespace)::AsyncMenuExecute(void*, void*) (menubarmanager.cxx:792) ==1368876== by 0xD6C70E0: Link<void*, void>::Call(void*) const (link.hxx:105) ==1368876== by 0xD6C3310: ImplHandleUserEvent(ImplSVEvent*) (winproc.cxx:2285) ==1368876== by 0xD6C023E: ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (winproc.cxx:2849) ==1368876== by 0x168B5E8B: SalFrame::CallCallback(SalEvent, void const*) const (salframe.hxx:310) ==1368876== by 0x168D7FCE: QtInstance::ProcessEvent(SalUserEventList::SalUserEvent) (QtInstance.cxx:592) ==1368876== by 0xDDD6D3C: SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (salusereventlist.cxx:119) ==1368876== by 0xDDD6C0A: SalUserEventList::DispatchUserEvents(bool) (salusereventlist.cxx:120) ==1368876== by 0x168D47F0: QtInstance::ImplYield(bool, bool) (QtInstance.cxx:488) ==1368876== by 0x168D7B90: QtInstance::DoYield(bool, bool) (QtInstance.cxx:510) ==1368876== by 0xDEA2705: ImplYield(bool, bool) (svapp.cxx:385) ==1368876== by 0xDEA201E: Application::Yield() (svapp.cxx:488) ==1368876== by 0xDEA1DFF: Application::Execute() (svapp.cxx:360) ==1368876== by 0x4ABE864: desktop::Desktop::Main() (app.cxx:1678) ==1368876== by 0xDECE595: ImplSVMain() (svmain.cxx:230) ==1368876== by 0xDED0088: SVMain() (svmain.cxx:248) ==1368876== by 0x4B39179: soffice_main (sofficemain.cxx:122) ==1368876== by 0x1099FC: sal_main (main.c:51) ==1368876== by 0x1099D6: main (main.c:49) ==1368876== Change-Id: Ie95746bf983752985540d5d968a8e9901cda8687 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188032 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/vcl/inc/qt5/QtInstanceDrawingArea.hxx b/vcl/inc/qt5/QtInstanceDrawingArea.hxx index 05c9676af2fd..97923a903e7c 100644 --- a/vcl/inc/qt5/QtInstanceDrawingArea.hxx +++ b/vcl/inc/qt5/QtInstanceDrawingArea.hxx @@ -11,6 +11,8 @@ #include "QtInstanceWidget.hxx" +#include <comphelper/OAccessible.hxx> + #include <QtWidgets/QLabel> class QtInstanceDrawingArea : public QtInstanceWidget, public virtual weld::DrawingArea @@ -19,9 +21,12 @@ class QtInstanceDrawingArea : public QtInstanceWidget, public virtual weld::Draw QLabel* m_pLabel; ScopedVclPtrInstance<VirtualDevice> m_xDevice; + const rtl::Reference<comphelper::OAccessible> m_pAccessible; public: - QtInstanceDrawingArea(QLabel* pLabel); + QtInstanceDrawingArea(QLabel* pLabel, + const rtl::Reference<comphelper::OAccessible>& rpAccessible); + virtual ~QtInstanceDrawingArea(); virtual void queue_draw() override; virtual void queue_draw_area(int x, int y, int width, int height) override; diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx index 9f247496fd89..241975ace387 100644 --- a/vcl/qt5/QtInstanceBuilder.cxx +++ b/vcl/qt5/QtInstanceBuilder.cxx @@ -11,7 +11,6 @@ #include <unordered_set> -#include <QtAccessibleWidget.hxx> #include <QtBuilder.hxx> #include <QtInstanceAssistant.hxx> #include <QtInstanceBox.hxx> @@ -620,10 +619,7 @@ QtInstanceBuilder::weld_drawing_area(const OUString& rId, if (!pLabel) return; - if (rA11yImpl.is()) - QtAccessibleWidget::setCustomAccessible(*pLabel, rA11yImpl); - - xRet = std::make_unique<QtInstanceDrawingArea>(pLabel); + xRet = std::make_unique<QtInstanceDrawingArea>(pLabel, rA11yImpl); }); return xRet; } diff --git a/vcl/qt5/QtInstanceDrawingArea.cxx b/vcl/qt5/QtInstanceDrawingArea.cxx index 325f4e389668..cc0b577948fe 100644 --- a/vcl/qt5/QtInstanceDrawingArea.cxx +++ b/vcl/qt5/QtInstanceDrawingArea.cxx @@ -10,6 +10,7 @@ #include <QtInstanceDrawingArea.hxx> #include <QtInstanceDrawingArea.moc> +#include <QtAccessibleWidget.hxx> #include <QtData.hxx> #include <vcl/qt/QtUtils.hxx> @@ -17,17 +18,28 @@ #include <QtGui/QHelpEvent> #include <QtWidgets/QToolTip> -QtInstanceDrawingArea::QtInstanceDrawingArea(QLabel* pLabel) +QtInstanceDrawingArea::QtInstanceDrawingArea( + QLabel* pLabel, const rtl::Reference<comphelper::OAccessible>& rpAccessible) : QtInstanceWidget(pLabel) , m_pLabel(pLabel) , m_xDevice(DeviceFormat::WITHOUT_ALPHA) + , m_pAccessible(rpAccessible) { assert(m_pLabel); + if (m_pAccessible.is()) + QtAccessibleWidget::setCustomAccessible(*m_pLabel, m_pAccessible); + // install event filter, so eventFilter() can handle widget events m_pLabel->installEventFilter(this); } +QtInstanceDrawingArea::~QtInstanceDrawingArea() +{ + if (m_pAccessible) + m_pAccessible->dispose(); +} + void QtInstanceDrawingArea::queue_draw() { SolarMutexGuard g;