ooo-build r11759 - trunk/patches/src680



Author: freuter
Date: Fri Feb 29 13:28:54 2008
New Revision: 11759
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11759&view=rev

Log:
more fun during BRM...


Modified:
   trunk/patches/src680/sw-team-pane.diff

Modified: trunk/patches/src680/sw-team-pane.diff
==============================================================================
--- trunk/patches/src680/sw-team-pane.diff	(original)
+++ trunk/patches/src680/sw-team-pane.diff	Fri Feb 29 13:28:54 2008
@@ -703,8 +703,29 @@
  }
  
  GtkYieldMutex::GtkYieldMutex()
+diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx
+index 701eb00..77455e2 100644
+--- vcl/unx/gtk/window/gtkframe.cxx
++++ vcl/unx/gtk/window/gtkframe.cxx
+@@ -2761,7 +2761,15 @@ gboolean GtkSalFrame::signalConfigure( GtkWidget*, GdkEventConfigure* pEvent, gp
+ gboolean GtkSalFrame::signalKey( GtkWidget*, GdkEventKey* pEvent, gpointer frame )
+ {
+     GtkSalFrame* pThis = (GtkSalFrame*)frame;
+-
++    if (pThis && pThis->m_pFixedContainer!=NULL && GTK_IS_FIXED(pThis->m_pFixedContainer))
++    {
++	GtkFixed *pFixed=GTK_FIXED(pThis->m_pFixedContainer);
++	GtkWindow *pTopLevel=GTK_WINDOW(gtk_widget_get_toplevel (GTK_WIDGET(pFixed)));
++	if (pTopLevel!=NULL && pTopLevel->focus_widget!=NULL 
++	    /* &&  (GTK_IS_SOCKET(pTopLevel->focus_widget) || GTK_IS_MOZ_EMBED(pTopLevel->focus_widget))*/) {
++	    return FALSE;
++	}
++    }
+ 	vcl::DeletionListener aDel( pThis );
+ 
+     if( pThis->m_pIMHandler )
 diff --git a/vcl/unx/gtk/window/gtkobject.cxx b/vcl/unx/gtk/window/gtkobject.cxx
-index 1f1d7b5..2174c6a 100644
+index 1f1d7b5..f3ab335 100644
 --- vcl/unx/gtk/window/gtkobject.cxx
 +++ vcl/unx/gtk/window/gtkobject.cxx
 @@ -41,14 +41,29 @@
@@ -740,7 +761,49 @@
          Show( bShow );
          // insert into container
          gtk_fixed_put( pParent->getFixedContainer(),
-@@ -224,3 +239,30 @@ void GtkSalObject::SetForwardKey( BOOL bEnable )
+@@ -60,7 +75,7 @@ GtkSalObject::GtkSalObject( GtkSalFrame* pParent, BOOL bShow )
+ 
+         // make it transparent; some plugins may not insert
+         // their own window here but use the socket window itself
+-        gtk_widget_set_app_paintable( m_pSocket, TRUE );
++//        gtk_widget_set_app_paintable( m_pSocket, TRUE );
+ 
+         //system data
+         SalDisplay* pDisp = GetX11SalData()->GetDisplay();
+@@ -77,8 +92,12 @@ GtkSalObject::GtkSalObject( GtkSalFrame* pParent, BOOL bShow )
+ 
+         g_signal_connect( G_OBJECT(m_pSocket), "button-press-event", G_CALLBACK(signalButton), this );
+         g_signal_connect( G_OBJECT(m_pSocket), "button-release-event", G_CALLBACK(signalButton), this );
++/*
+         g_signal_connect( G_OBJECT(m_pSocket), "focus-in-event", G_CALLBACK(signalFocus), this );
+         g_signal_connect( G_OBJECT(m_pSocket), "focus-out-event", G_CALLBACK(signalFocus), this );
++*/
++	g_signal_connect( G_OBJECT(m_pSocket), "set-focus-child", G_CALLBACK(signalFocusChild), this );
++
+         g_signal_connect( G_OBJECT(m_pSocket), "destroy", G_CALLBACK(signalDestroy), this );
+         
+         // #i59255# necessary due to sync effects with java child windows
+@@ -207,6 +226,19 @@ gboolean GtkSalObject::signalFocus( GtkWidget*, GdkEventFocus* pEvent, gpointer
+     return FALSE;
+ }
+ 
++void GtkSalObject::signalFocusChild  (GtkContainer *container,
++				      GtkWidget    *widget,
++				      gpointer      object)
++{
++   GtkSalObject* pThis = (GtkSalObject*)object;
++    printf("\n********* GtkSalObject::signalFocusChild(%p)**********\n\n", widget);
++    
++
++    GTK_YIELD_GRAB();
++    pThis->CallCallback( widget!=NULL ? SALOBJ_EVENT_GETFOCUS : SALOBJ_EVENT_LOSEFOCUS, NULL );
++
++}
++
+ void GtkSalObject::signalDestroy( GtkObject* pObj, gpointer object )
+ {
+     GtkSalObject* pThis = (GtkSalObject*)object;
+@@ -224,3 +256,31 @@ void GtkSalObject::SetForwardKey( BOOL bEnable )
      else
          gtk_widget_set_events( GTK_WIDGET( m_pSocket ), ~(GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE) & gtk_widget_get_events( GTK_WIDGET( m_pSocket ) ) );
  }
@@ -748,6 +811,7 @@
 +
 +void GtkSalObject::RemoveFocus()
 +{
++    printf("GtkSalObject::RemoveFocus\n");
 +    GtkSalObject *pGtkSalObject = this;
 +    GtkWidget *socket=GTK_WIDGET(pGtkSalObject->GetSystemData()->pWidget);
 +    if (GTK_IS_CONTAINER(socket)) {
@@ -888,10 +952,10 @@
  
  class GtkSalSystem : public X11SalSystem
 diff --git a/vcl/unx/inc/plugins/gtk/gtkobject.hxx b/vcl/unx/inc/plugins/gtk/gtkobject.hxx
-index 5ce3237..92324d6 100644
+index 5ce3237..fe7e198 100644
 --- vcl/unx/inc/plugins/gtk/gtkobject.hxx
 +++ vcl/unx/inc/plugins/gtk/gtkobject.hxx
-@@ -51,16 +51,22 @@
+@@ -51,16 +51,28 @@
  
  class GtkSalObject : public SalObject
  {
@@ -909,13 +973,19 @@
      static gboolean		signalButton( GtkWidget*, GdkEventButton*, gpointer );
      static gboolean		signalFocus( GtkWidget*, GdkEventFocus*, gpointer );
      static void			signalDestroy( GtkObject*, gpointer );
++
++    static void signalFocusChild  (GtkContainer *container,
++                                   GtkWidget    *widget,
++                                   gpointer      user_data);
++
++
  public:
 -    GtkSalObject( GtkSalFrame* pParent, BOOL bShow = TRUE );
 +    GtkSalObject( GtkSalFrame* pParent, int type, BOOL bShow = TRUE );
      virtual ~GtkSalObject();
  
      // overload all pure virtual methods
-@@ -74,6 +80,7 @@ public:
+@@ -74,6 +86,7 @@ public:
  	virtual void					Show( BOOL bVisible );
  	virtual void					Enable( BOOL nEnable );
  	virtual void					GrabFocus();
@@ -923,7 +993,7 @@
  
  	virtual void					SetBackground();
  	virtual void					SetBackground( SalColor nSalColor );
-@@ -81,7 +88,8 @@ public:
+@@ -81,7 +94,8 @@ public:
          virtual void                                    SetForwardKey( BOOL bEnable );
  
  	virtual const SystemEnvData*	GetSystemData() const;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]