diff options
Diffstat (limited to 'patches/src680/ooo70361.vcl.atkfilechooser.diff')
-rw-r--r-- | patches/src680/ooo70361.vcl.atkfilechooser.diff | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/patches/src680/ooo70361.vcl.atkfilechooser.diff b/patches/src680/ooo70361.vcl.atkfilechooser.diff new file mode 100644 index 000000000..eac6abe6b --- /dev/null +++ b/patches/src680/ooo70361.vcl.atkfilechooser.diff @@ -0,0 +1,53 @@ +Index: unx/gtk/a11y/atkwindow.cxx +=================================================================== +RCS file: /cvs/gsl/vcl/unx/gtk/a11y/atkwindow.cxx,v +retrieving revision 1.4 +diff -u -r1.4 atkwindow.cxx +--- vcl/unx/gtk/a11y/atkwindow.cxx 17 Sep 2006 12:28:42 -0000 1.4 ++++ vcl/unx/gtk/a11y/atkwindow.cxx 23 Oct 2006 09:55:43 -0000 +@@ -67,7 +67,13 @@ + ooo_window_wrapper_real_initialize(AtkObject *obj, gpointer data) + { + window_real_initialize(obj, data); +- obj->role = GtkSalFrame::GetAtkRole( GTK_WINDOW( data ) ); ++ ++ /* GetAtkRole returns ATK_ROLE_INVALID for all non VCL windows, i.e. ++ * native Gtk+ file picker etc. ++ */ ++ AtkRole newRole = GtkSalFrame::GetAtkRole( GTK_WINDOW( data ) ); ++ if( newRole != ATK_ROLE_INVALID ) ++ obj->role = newRole; + + if( obj->role == ATK_ROLE_TOOL_TIP ) + { +Index: unx/gtk/window/gtkframe.cxx +=================================================================== +RCS file: /cvs/gsl/vcl/unx/gtk/window/gtkframe.cxx,v +retrieving revision 1.55 +diff -u -r1.55 gtkframe.cxx +--- vcl/unx/gtk/window/gtkframe.cxx 17 Sep 2006 12:30:17 -0000 1.55 ++++ vcl/unx/gtk/window/gtkframe.cxx 23 Oct 2006 09:55:44 -0000 +@@ -657,11 +657,13 @@ + if( aDefaultRole == ATK_ROLE_INVALID ) + aDefaultRole = atk_role_register( "redundant object" ); + +- AtkRole role = aDefaultRole; ++ AtkRole role = ATK_ROLE_INVALID; + + GtkSalFrame * pFrame = getFromWindow( window ); + if( pFrame ) + { ++ role = aDefaultRole; ++ + Window *pWindow = static_cast <Window *> (pFrame->GetInstance()); + if( pWindow ) + { +@@ -710,7 +712,7 @@ + } + } + } +- ++ + return role; + } + |