rpms/openoffice.org/devel workspace.gtk3.patch, NONE, 1.1 openoffice.org.spec, 1.2250, 1.2251 openoffice.org-3.3.0.ooo112421.vcl.defaultmonitor.patch, 1.3, NONE
Caolan McNamara
caolanm at fedoraproject.org
Mon Jun 21 08:42:19 UTC 2010
Author: caolanm
Update of /cvs/pkgs/rpms/openoffice.org/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv29968
Modified Files:
openoffice.org.spec
Added Files:
workspace.gtk3.patch
Removed Files:
openoffice.org-3.3.0.ooo112421.vcl.defaultmonitor.patch
Log Message:
Build against gtk3
workspace.gtk3.patch:
configure.in | 6 +-
extensions/source/nsplugin/source/makefile.mk | 2
extensions/source/plugin/util/makefile.pmk | 2
fpicker/source/unx/gnome/SalGtkFilePicker.cxx | 2
fpicker/source/unx/gnome/makefile.mk | 6 +-
libegg/source/eggtrayicon-impl.h | 2
libegg/source/eggtrayicon.c | 39 ++++++++++++++-
libegg/source/makefile.mk | 2
scp2/source/ooo/makefile.mk | 4 -
sfx2/source/appl/makefile.mk | 2
sfx2/source/appl/shutdowniconunx.cxx | 4 +
sfx2/util/makefile.mk | 2
vcl/unx/gtk/a11y/makefile.mk | 2
vcl/unx/gtk/app/gtkdata.cxx | 32 ++++++++++++
vcl/unx/gtk/app/makefile.mk | 2
vcl/unx/gtk/gdi/makefile.mk | 2
vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx | 65 ++++++++++++++++++--------
vcl/unx/gtk/window/gtkframe.cxx | 36 ++++++++++----
vcl/unx/gtk/window/makefile.mk | 2
vcl/unx/inc/plugins/gtk/gtkdata.hxx | 2
vcl/unx/inc/saldisp.hxx | 4 +
vcl/unx/source/app/saldisp.cxx | 21 +++++---
vcl/unx/source/app/salsys.cxx | 2
vcl/util/makefile.mk | 2
24 files changed, 184 insertions(+), 61 deletions(-)
--- NEW FILE workspace.gtk3.patch ---
diff -ru vcl.orig/unx/gtk/a11y/makefile.mk vcl/unx/gtk/a11y/makefile.mk
--- vcl.orig/unx/gtk/a11y/makefile.mk 2010-05-29 11:29:16.000000000 +0100
+++ vcl/unx/gtk/a11y/makefile.mk 2010-05-29 11:30:47.000000000 +0100
@@ -50,7 +50,7 @@
.IF "$(ENABLE_GTK)" != ""
-PKGCONFIG_MODULES=gtk+-2.0
+PKGCONFIG_MODULES=gtk+-3.0
.INCLUDE : pkg_config.mk
CFLAGS+=-DVERSION=$(EMQ)"$(UPD)$(LAST_MINOR)$(EMQ)"
diff -ru vcl.orig/unx/gtk/app/makefile.mk vcl/unx/gtk/app/makefile.mk
--- vcl.orig/unx/gtk/app/makefile.mk 2010-05-29 11:29:17.000000000 +0100
+++ vcl/unx/gtk/app/makefile.mk 2010-05-29 11:30:40.000000000 +0100
@@ -50,7 +50,7 @@
.IF "$(ENABLE_GTK)" != ""
-PKGCONFIG_MODULES=gtk+-2.0
+PKGCONFIG_MODULES=gtk+-3.0
.INCLUDE : pkg_config.mk
SLOFILES=\
diff -ru vcl.orig/unx/gtk/gdi/makefile.mk vcl/unx/gtk/gdi/makefile.mk
--- vcl.orig/unx/gtk/gdi/makefile.mk 2010-05-29 11:29:17.000000000 +0100
+++ vcl/unx/gtk/gdi/makefile.mk 2010-05-29 11:30:44.000000000 +0100
@@ -47,7 +47,7 @@
.IF "$(ENABLE_GTK)" != ""
-PKGCONFIG_MODULES=gtk+-2.0
+PKGCONFIG_MODULES=gtk+-3.0
.INCLUDE : pkg_config.mk
SLOFILES=$(SLO)$/salnativewidgets-gtk.obj
diff -ru vcl.orig/unx/gtk/gdi/salnativewidgets-gtk.cxx vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
--- vcl.orig/unx/gtk/gdi/salnativewidgets-gtk.cxx 2010-05-29 11:29:16.000000000 +0100
+++ vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx 2010-05-29 21:07:21.000000000 +0100
@@ -47,6 +47,16 @@
#include "cairo/cairo.h"
+
+static void gtk_set_orientation(GtkWidget *widget, GtkOrientation orientation)
+{
+#if GTK_CHECK_VERSION(2,90,0)
+ gtk_orientable_set_orientation( GTK_ORIENTABLE(widget), orientation );
+#else
+ gtk_toolbar_set_orientation( GTK_TOOLBAR(widget), orientation );
+#endif
+}
+
// initialize statics
BOOL GtkSalGraphics::bThemeChanged = TRUE;
BOOL GtkSalGraphics::bNeedPixmapPaint = FALSE;
@@ -84,6 +94,8 @@
GtkWidget * gNotebookWidget;
GtkWidget * gOptionMenuWidget;
GtkWidget * gComboWidget;
+ GtkWidget * gComboButtonWidget;
+ GtkWidget * gComboEntryWidget;
GtkWidget * gScrolledWindowWidget;
GtkWidget * gToolbarWidget;
GtkWidget * gToolbarButtonWidget;
@@ -120,6 +132,8 @@
gNotebookWidget( NULL ),
gOptionMenuWidget( NULL ),
gComboWidget( NULL ),
+ gComboButtonWidget( NULL ),
+ gComboEntryWidget( NULL ),
gScrolledWindowWidget( NULL ),
gToolbarWidget( NULL ),
gToolbarButtonWidget( NULL ),
@@ -1892,7 +1906,7 @@
widget = gWidgetData[nScreen].gScrolledWindowWidget;
break;
case CTRL_COMBOBOX:
- widget = GTK_COMBO(gWidgetData[nScreen].gComboWidget)->entry;
+ widget = gWidgetData[nScreen].gComboEntryWidget;
break;
default:
@@ -2173,8 +2187,8 @@
x+(buttonRect.Left() - pixmapRect.Left()),
y+(buttonRect.Top() - pixmapRect.Top()),
buttonRect.GetWidth(), buttonRect.GetHeight() );
- gtk_paint_box( GTK_COMBO(gWidgetData[m_nScreen].gComboWidget)->button->style, gdkDrawable, stateType, shadowType,
- &clipRect, GTK_COMBO(gWidgetData[m_nScreen].gComboWidget)->button, "button",
+ gtk_paint_box( gWidgetData[m_nScreen].gComboButtonWidget->style, gdkDrawable, stateType, shadowType,
+ &clipRect, gWidgetData[m_nScreen].gComboButtonWidget, "button",
x+(buttonRect.Left() - pixmapRect.Left()),
y+(buttonRect.Top() - pixmapRect.Top()),
buttonRect.GetWidth(), buttonRect.GetHeight() );
@@ -2518,9 +2532,9 @@
GTK_WIDGET_SET_FLAGS( gWidgetData[m_nScreen].gToolbarWidget, GTK_SENSITIVE );
if( nPart == PART_DRAW_BACKGROUND_HORZ )
- gtk_toolbar_set_orientation( GTK_TOOLBAR(gWidgetData[m_nScreen].gToolbarWidget), GTK_ORIENTATION_HORIZONTAL );
+ gtk_set_orientation( gWidgetData[m_nScreen].gToolbarWidget, GTK_ORIENTATION_HORIZONTAL );
else
- gtk_toolbar_set_orientation( GTK_TOOLBAR(gWidgetData[m_nScreen].gToolbarWidget), GTK_ORIENTATION_VERTICAL );
+ gtk_set_orientation( gWidgetData[m_nScreen].gToolbarWidget, GTK_ORIENTATION_VERTICAL );
}
// handle grip
else if( nPart == PART_THUMB_HORZ || nPart == PART_THUMB_VERT )
@@ -3737,7 +3751,7 @@
NWAddWidgetToCacheWindow( gWidgetData[nScreen].gDropdownWidget, nScreen );
gWidgetData[nScreen].gArrowWidget = gtk_arrow_new( GTK_ARROW_DOWN, GTK_SHADOW_OUT );
gtk_container_add( GTK_CONTAINER(gWidgetData[nScreen].gDropdownWidget), gWidgetData[nScreen].gArrowWidget );
- gtk_widget_set_rc_style( gWidgetData[nScreen].gArrowWidget );
+ gtk_widget_set_style( gWidgetData[nScreen].gArrowWidget, NULL );
gtk_widget_realize( gWidgetData[nScreen].gArrowWidget );
}
}
@@ -3787,29 +3801,42 @@
{
if ( !gWidgetData[nScreen].gOptionMenuWidget )
{
- gWidgetData[nScreen].gOptionMenuWidget = gtk_option_menu_new();
+ gWidgetData[nScreen].gOptionMenuWidget = gtk_combo_box_new();
NWAddWidgetToCacheWindow( gWidgetData[nScreen].gOptionMenuWidget, nScreen );
}
}
//-------------------------------------
+static void get_combo_box_entry_inner_widgets(GtkWidget *widget, gpointer client_data)
+{
+ int nScreen = GPOINTER_TO_INT(client_data);
+ if (GTK_IS_TOGGLE_BUTTON(widget))
+ gWidgetData[nScreen].gComboButtonWidget = widget;
+ else if (GTK_IS_ENTRY(widget))
+ {
+ // #i59129# Setting non-editable means it doesn't blink, so
+ // there are no timeouts running around to nobble us
+ gtk_editable_set_editable(GTK_EDITABLE(widget), false);
+ gWidgetData[nScreen].gComboEntryWidget = widget;
+ }
+ else
+ return;
+ gtk_widget_realize(widget);
+}
+
static void NWEnsureGTKCombo( int nScreen )
{
- if ( !gWidgetData[nScreen].gComboWidget )
- {
- gWidgetData[nScreen].gComboWidget = gtk_combo_new();
+ if ( !gWidgetData[nScreen].gComboWidget )
+ {
+ gWidgetData[nScreen].gComboWidget = gtk_combo_box_entry_new();
- // #i59129# Setting non-editable means it doesn't blink, so
- // there are no timeouts running around to nobble us
- gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO(gWidgetData[nScreen].gComboWidget)->entry), false);
+ NWAddWidgetToCacheWindow( gWidgetData[nScreen].gComboWidget, nScreen );
- NWAddWidgetToCacheWindow( gWidgetData[nScreen].gComboWidget, nScreen );
- // Must realize the ComboBox's children, since GTK
- // does not do this for us in GtkCombo::gtk_widget_realize()
- gtk_widget_realize( GTK_COMBO(gWidgetData[nScreen].gComboWidget)->button );
- gtk_widget_realize( GTK_COMBO(gWidgetData[nScreen].gComboWidget)->entry );
- }
+ gtk_container_forall(GTK_CONTAINER(gWidgetData[nScreen].gComboWidget),
+ get_combo_box_entry_inner_widgets, GINT_TO_POINTER(nScreen) );
+
+ }
}
//-------------------------------------
diff -ru vcl.orig/unx/gtk/window/gtkframe.cxx vcl/unx/gtk/window/gtkframe.cxx
--- vcl.orig/unx/gtk/window/gtkframe.cxx 2010-05-29 11:29:16.000000000 +0100
+++ vcl/unx/gtk/window/gtkframe.cxx 2010-05-29 12:02:19.000000000 +0100
@@ -79,6 +79,24 @@
#define GDK_META_MASK (1 << 28)
#endif
+static bool gtk_widget_is_realized(GtkWidget *widget)
+{
+#if GTK_CHECK_VERSION(2,90,0)
+ return gtk_widget_get_realized(widget);
+#else
+ return GTK_WIDGET_REALIZED(widget);
+#endif
+}
+
+static bool gtk_widget_is_mapped(GtkWidget *widget)
+{
+#if GTK_CHECK_VERSION(2,90,0)
+ return gtk_widget_get_mapped(widget);
+#else
+ return GTK_WIDGET_MAPPED(widget);
+#endif
+}
+
using namespace com::sun::star;
int GtkSalFrame::m_nFloats = 0;
@@ -982,7 +1000,7 @@
if( nStyle != m_nExtStyle && ! isChild() )
{
m_nExtStyle = nStyle;
- if( GTK_WIDGET_REALIZED( m_pWindow ) )
+ if( gtk_widget_is_realized( m_pWindow ) )
{
XClassHint* pClass = XAllocClassHint();
rtl::OString aResHint = X11SalData::getFrameResName( m_nExtStyle );
@@ -1314,7 +1332,7 @@
setMinMaxSize();
// #i45160# switch to desktop where a dialog with parent will appear
- if( m_pParent && m_pParent->m_nWorkArea != m_nWorkArea && GTK_WIDGET_MAPPED(m_pParent->m_pWindow) )
+ if( m_pParent && m_pParent->m_nWorkArea != m_nWorkArea && gtk_widget_is_mapped(m_pParent->m_pWindow) )
getDisplay()->getWMAdaptor()->switchToWorkArea( m_pParent->m_nWorkArea );
if( isFloatGrabWindow() &&
@@ -1480,7 +1498,7 @@
{
m_aMaxSize = Size( nWidth, nHeight );
// Show does a setMinMaxSize
- if( GTK_WIDGET_MAPPED( m_pWindow ) )
+ if( gtk_widget_is_mapped( m_pWindow ) )
setMinMaxSize();
}
}
@@ -1493,7 +1511,7 @@
{
gtk_widget_set_size_request( m_pWindow, nWidth, nHeight );
// Show does a setMinMaxSize
- if( GTK_WIDGET_MAPPED( m_pWindow ) )
+ if( gtk_widget_is_mapped( m_pWindow ) )
setMinMaxSize();
}
}
@@ -1785,7 +1803,7 @@
Rectangle aOldScreenRect( pDisp->GetXineramaScreens()[maGeometry.nScreenNumber] );
Rectangle aNewScreenRect( pDisp->GetXineramaScreens()[nNewScreen] );
- bool bVisible = GTK_WIDGET_MAPPED(m_pWindow);
+ bool bVisible = gtk_widget_is_mapped(m_pWindow);
if( bVisible )
Show( FALSE );
maGeometry.nX = aNewScreenRect.Left() + (maGeometry.nX - aOldScreenRect.Left());
@@ -1817,7 +1835,7 @@
{
m_aRestorePosSize = Rectangle( Point( maGeometry.nX, maGeometry.nY ),
Size( maGeometry.nWidth, maGeometry.nHeight ) );
- bool bVisible = GTK_WIDGET_MAPPED(m_pWindow);
+ bool bVisible = gtk_widget_is_mapped(m_pWindow);
if( bVisible )
Show( FALSE );
m_nStyle |= SAL_FRAME_STYLE_PARTIAL_FULLSCREEN;
@@ -1846,7 +1864,7 @@
}
else
{
- bool bVisible = GTK_WIDGET_MAPPED(m_pWindow);
+ bool bVisible = gtk_widget_is_mapped(m_pWindow);
if( ! getDisplay()->getWMAdaptor()->isLegacyPartialFullscreen() )
gtk_window_unfullscreen( GTK_WINDOW(m_pWindow) );
if( bVisible )
@@ -2086,7 +2104,7 @@
{
if( isChild( false, true ) )
gtk_widget_grab_focus( m_pWindow );
- else if( GTK_WIDGET_MAPPED( m_pWindow ) )
+ else if( gtk_widget_is_mapped( m_pWindow ) )
{
if( ! (nFlags & SAL_FRAME_TOTOP_GRABFOCUS_ONLY) )
gtk_window_present( GTK_WINDOW(m_pWindow) );
@@ -2370,7 +2388,7 @@
void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nScreen )
{
- bool bWasVisible = GTK_WIDGET_MAPPED(m_pWindow);
+ bool bWasVisible = gtk_widget_is_mapped(m_pWindow);
if( bWasVisible )
Show( FALSE );
diff -ru vcl.orig/unx/gtk/window/makefile.mk vcl/unx/gtk/window/makefile.mk
--- vcl.orig/unx/gtk/window/makefile.mk 2010-05-29 11:29:16.000000000 +0100
+++ vcl/unx/gtk/window/makefile.mk 2010-05-29 11:30:51.000000000 +0100
@@ -50,7 +50,7 @@
.IF "$(ENABLE_GTK)" != ""
-PKGCONFIG_MODULES=gtk+-2.0
+PKGCONFIG_MODULES=gtk+-3.0
.IF "$(ENABLE_DBUS)" != ""
CDEFS+=-DENABLE_DBUS
PKGCONFIG_MODULES+= dbus-glib-1
diff -ru vcl.orig/util/makefile.mk vcl/util/makefile.mk
--- vcl.orig/util/makefile.mk 2010-05-29 11:28:58.000000000 +0100
+++ vcl/util/makefile.mk 2010-05-29 11:30:59.000000000 +0100
@@ -350,7 +350,7 @@
# gtk plugin
.IF "$(ENABLE_GTK)" != ""
-PKGCONFIG_MODULES=gtk+-2.0 gthread-2.0
+PKGCONFIG_MODULES=gtk+-3.0 gthread-2.0
.IF "$(ENABLE_DBUS)" != ""
PKGCONFIG_MODULES+= dbus-glib-1
.ENDIF
diff -ru extensions.orig/source/nsplugin/source/makefile.mk extensions/source/nsplugin/source/makefile.mk
--- extensions.orig/source/nsplugin/source/makefile.mk 2010-05-29 21:22:06.000000000 +0100
+++ extensions/source/nsplugin/source/makefile.mk 2010-05-29 21:23:13.000000000 +0100
@@ -52,7 +52,7 @@
.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
.ENDIF
-PKGCONFIG_MODULES=gtk+-2.0
+PKGCONFIG_MODULES=gtk+-3.0
.INCLUDE: pkg_config.mk
.ENDIF # "$(ENABLE_GTK)"==""
.ENDIF # "$(GUI)"=="UNX"
diff -ru extensions.orig/source/plugin/util/makefile.pmk extensions/source/plugin/util/makefile.pmk
--- extensions.orig/source/plugin/util/makefile.pmk 2010-05-29 21:22:06.000000000 +0100
+++ extensions/source/plugin/util/makefile.pmk 2010-05-29 21:23:16.000000000 +0100
@@ -35,7 +35,7 @@
.IF "$(GUIBASE)" == "unx" && "$(ENABLE_GTK)" == "TRUE"
CDEFS+=-DENABLE_GTK
-PKGCONFIG_MODULES+=gtk+-2.0 gthread-2.0
+PKGCONFIG_MODULES+=gtk+-3.0 gthread-2.0
.ENDIF
.IF "$(GUIBASE)" == "aqua"
diff -ru fpicker.orig/source/unx/gnome/makefile.mk fpicker/source/unx/gnome/makefile.mk
--- fpicker.orig/source/unx/gnome/makefile.mk 2010-05-29 21:22:49.000000000 +0100
+++ fpicker/source/unx/gnome/makefile.mk 2010-05-29 21:24:14.000000000 +0100
@@ -46,16 +46,16 @@
.ELSE # we build for GNOME
-PKGCONFIG_MODULES=gtk+-2.0
+PKGCONFIG_MODULES=gtk+-3.0
.INCLUDE : pkg_config.mk
# check gtk version
-GTK_TWO_FOUR:=$(shell @$(PKG_CONFIG) --exists 'gtk+-2.0 >= 2.4.0' && echo ok)
+GTK_TWO_FOUR:=$(shell @$(PKG_CONFIG) --exists 'gtk+-3.0 >= 2.4.0' && echo ok)
.IF "$(GTK_TWO_FOUR)" != "ok"
dummy:
@echo "Cannot build gtk filepicker because"
- @$(PKG_CONFIG) --print-errors --exists 'gtk+-2.0 >= 2.4.0'
+ @$(PKG_CONFIG) --print-errors --exists 'gtk+-3.0 >= 2.4.0'
.ELSE
diff -ru fpicker.orig/source/unx/gnome/SalGtkFilePicker.cxx fpicker/source/unx/gnome/SalGtkFilePicker.cxx
--- fpicker.orig/source/unx/gnome/SalGtkFilePicker.cxx 2010-05-29 21:22:49.000000000 +0100
+++ fpicker/source/unx/gnome/SalGtkFilePicker.cxx 2010-05-29 21:26:05.000000000 +0100
@@ -1586,7 +1586,7 @@
gtk_image_set_from_pixbuf( GTK_IMAGE( preview ), pixbuf );
if( pixbuf )
- gdk_pixbuf_unref( pixbuf );
+ g_object_unref( pixbuf );
}
diff -ru libegg.orig/source/eggtrayicon.c libegg/source/eggtrayicon.c
--- libegg.orig/source/eggtrayicon.c 2010-05-29 21:27:29.000000000 +0100
+++ libegg/source/eggtrayicon.c 2010-05-30 12:53:27.000000000 +0100
@@ -230,6 +230,7 @@
{
EggTrayIcon *icon = user_data;
XEvent *xev = (XEvent *)xevent;
+ (void)event;
if (xev->xany.type == ClientMessage &&
xev->xclient.message_type == icon->manager_atom &&
@@ -322,6 +323,16 @@
0, 0);
}
+static gboolean
+gtk_widget_is_realized(GtkWidget *widget)
+{
+#if GTK_CHECK_VERSION(2,90,0)
+ return gtk_widget_get_realized(widget);
+#else
+ return GTK_WIDGET_REALIZED(widget);
+#endif
+}
+
static void
egg_tray_icon_update_manager_window (EggTrayIcon *icon,
gboolean dock_if_realized)
@@ -354,7 +365,7 @@
gdk_window_add_filter (gdkwin, egg_tray_icon_manager_filter, icon);
- if (dock_if_realized && GTK_WIDGET_REALIZED (icon))
+ if (dock_if_realized && gtk_widget_is_realized (GTK_WIDGET (icon)))
egg_tray_icon_send_dock_request (icon);
egg_tray_icon_get_orientation_property (icon);
@@ -383,6 +394,7 @@
static gboolean
transparent_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data)
{
+ (void)user_data;
gdk_window_clear_area (widget->window, event->area.x, event->area.y,
event->area.width, event->area.height);
return FALSE;
@@ -392,15 +404,38 @@
make_transparent_again (GtkWidget *widget, GtkStyle *previous_style,
gpointer user_data)
{
+ (void)previous_style;
+ (void)user_data;
gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
}
+static gboolean
+gtk_widget_is_has_window(GtkWidget *widget)
+{
+#if GTK_CHECK_VERSION(2,90,0)
+ return gtk_widget_get_has_window(widget);
+#else
+ return GTK_WIDGET_NO_WINDOW(widget);
+#endif
+}
+
+static gboolean
+gtk_widget_is_app_paintable(GtkWidget *widget)
+{
+#if GTK_CHECK_VERSION(2,90,0)
+ return gtk_widget_get_app_paintable(widget);
+#else
+ return GTK_WIDGET_APP_PAINTABLE(widget);
+#endif
+}
+
static void
make_transparent (GtkWidget *widget, gpointer user_data)
{
- if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget))
+ if (gtk_widget_is_has_window (widget) || gtk_widget_is_app_paintable (widget))
return;
+ (void)user_data;
gtk_widget_set_app_paintable (widget, TRUE);
gtk_widget_set_double_buffered (widget, FALSE);
gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
diff -ru libegg.orig/source/eggtrayicon-impl.h libegg/source/eggtrayicon-impl.h
--- libegg.orig/source/eggtrayicon-impl.h 2010-05-29 21:27:29.000000000 +0100
+++ libegg/source/eggtrayicon-impl.h 2010-05-30 12:46:49.000000000 +0100
@@ -21,7 +21,7 @@
#ifndef __EGG_TRAY_ICON_IMPL_H__
#define __EGG_TRAY_ICON_IMPL_H__
-#include <gtk/gtkplug.h>
+#include <gtk/gtk.h>
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#endif
diff -ru libegg.orig/source/makefile.mk libegg/source/makefile.mk
--- libegg.orig/source/makefile.mk 2010-05-29 21:27:29.000000000 +0100
+++ libegg/source/makefile.mk 2010-05-30 12:45:54.000000000 +0100
@@ -40,7 +40,7 @@
.IF "$(L10N_framework)"==""
.IF "$(ENABLE_GTK)"!=""
-PKGCONFIG_MODULES=gtk+-2.0 gdk-2.0
+PKGCONFIG_MODULES=gtk+-3.0 gdk-3.0
.INCLUDE: pkg_config.mk
CFLAGS+=$(PKGCONFIG_CFLAGS)
diff -ru scp2.orig/source/ooo/makefile.mk scp2/source/ooo/makefile.mk
--- scp2.orig/source/ooo/makefile.mk 2010-05-29 21:24:45.000000000 +0100
+++ scp2/source/ooo/makefile.mk 2010-05-29 21:26:42.000000000 +0100
@@ -63,9 +63,9 @@
.IF "$(GUI)"=="UNX"
.IF "$(ENABLE_GTK)" != ""
SCPDEFS+=-DENABLE_GTK
-PKGCONFIG_MODULES=gtk+-2.0
+PKGCONFIG_MODULES=gtk+-3.0
.INCLUDE: pkg_config.mk
-GTK_TWO_FOUR=$(shell @+-$(PKG_CONFIG) --exists 'gtk+-2.0 >= 2.4.0' && echo YES)
+GTK_TWO_FOUR=$(shell @+-$(PKG_CONFIG) --exists 'gtk+-3.0 >= 2.4.0' && echo YES)
.IF "$(GTK_TWO_FOUR)" != ""
SCPDEFS+=-DGTK_TWO_FOUR
.ENDIF
diff -ru sfx2.orig/source/appl/makefile.mk sfx2/source/appl/makefile.mk
--- sfx2.orig/source/appl/makefile.mk 2010-05-29 21:22:29.000000000 +0100
+++ sfx2/source/appl/makefile.mk 2010-05-30 12:54:53.000000000 +0100
@@ -52,7 +52,7 @@
.IF "$(GUI)"=="UNX"
CDEFS+=-DDLL_NAME=libsfx$(DLLPOSTFIX)$(DLLPOST)
.IF "$(ENABLE_SYSTRAY_GTK)"=="TRUE"
- PKGCONFIG_MODULES=gtk+-2.0
+ PKGCONFIG_MODULES=gtk+-3.0
.INCLUDE: pkg_config.mk
CFLAGS+=$(PKGCONFIG_CFLAGS)
CFLAGS+=-DENABLE_QUICKSTART_APPLET
diff -ru sfx2.orig/source/appl/shutdowniconunx.cxx sfx2/source/appl/shutdowniconunx.cxx
--- sfx2.orig/source/appl/shutdowniconunx.cxx 2010-05-29 21:22:29.000000000 +0100
+++ sfx2/source/appl/shutdowniconunx.cxx 2010-05-30 12:59:35.000000000 +0100
@@ -372,8 +372,12 @@
pTrayIcon = egg_tray_icon_new( aLabel );
GtkWidget *pParent = gtk_event_box_new();
+#if GTK_CHECK_VERSION(2,90,0)
+ gtk_widget_set_tooltip_text (pParent, aLabel );
+#else
GtkTooltips *pTooltips = gtk_tooltips_new();
gtk_tooltips_set_tip( GTK_TOOLTIPS( pTooltips ), pParent, aLabel, NULL );
+#endif
GtkWidget *pIconImage = gtk_image_new();
gtk_container_add( GTK_CONTAINER( pParent ), pIconImage );
diff -ru sfx2.orig/util/makefile.mk sfx2/util/makefile.mk
--- sfx2.orig/util/makefile.mk 2010-05-29 21:22:29.000000000 +0100
+++ sfx2/util/makefile.mk 2010-05-30 12:54:56.000000000 +0100
@@ -140,7 +140,7 @@
# gtk quick-starter
.IF "$(GUI)"=="UNX"
.IF "$(ENABLE_SYSTRAY_GTK)"=="TRUE"
-PKGCONFIG_MODULES=gtk+-2.0
+PKGCONFIG_MODULES=gtk+-3.0
.INCLUDE: pkg_config.mk
CFLAGS+=$(PKGCONFIG_CFLAGS)
--- configure.in 2010-05-27 08:08:18.000000000 +0100
+++ configure.in 2010-05-29 11:33:43.000000000 +0100
@@ -4574,7 +4577,7 @@
elif test "$_os" = "Darwin"; then
if test "$MOZILLA_TOOLKIT" = "gtk2"; then
AC_MSG_NOTICE([checking whether mozilla can be built...])
- PKG_CHECK_MODULES(MOZGTK2, gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8, AC_MSG_NOTICE([OK - can build mozilla]), AC_MSG_ERROR([Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages]))
+ PKG_CHECK_MODULES(MOZGTK2, gtk+-3.0 >= 2.4 libIDL-2.0 >= 0.8, AC_MSG_NOTICE([OK - can build mozilla]), AC_MSG_ERROR([Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages]))
else
PKG_CHECK_MODULES(MOZLIBREQ, libIDL-2.0 >= 0.6.3, MOZIDL="TRUE", MOZIDL="")
if test -z "$MOZIDL"; then
@@ -4584,7 +4587,7 @@
else
# Generic Unix/Linux section
if test "$MOZILLA_TOOLKIT" = "gtk2"; then
- PKG_CHECK_MODULES(MOZLIBREQ, gtk+-2.0, MOZGTK="TRUE", MOZGTK="")
+ PKG_CHECK_MODULES(MOZLIBREQ, gtk+-3.0, MOZGTK="TRUE", MOZGTK="")
if test -z "$MOZGTK"; then
AC_MSG_ERROR([GTK2 is needed to build mozilla.])
fi
@@ -5643,7 +5641,7 @@
if test "$test_gtk" = "yes"; then
if test "$ENABLE_GTK" = "TRUE" ; then
- PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ,,AC_MSG_ERROR([requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages]))
+ PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ,,AC_MSG_ERROR([requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages]))
BUILD_TYPE="$BUILD_TYPE GTK"
if test "x$enable_systray" = "xyes"; then
diff -ru vcl.orig/unx/gtk/app/gtkdata.cxx vcl/unx/gtk/app/gtkdata.cxx
--- vcl.orig/unx/gtk/app/gtkdata.cxx 2010-06-14 19:51:39.500810695 +0100
+++ vcl/unx/gtk/app/gtkdata.cxx 2010-06-15 10:07:16.669799057 +0100
@@ -217,11 +217,12 @@
{
gint nMonitors = gdk_screen_get_n_monitors(pScreen);
m_aXineramaScreens = std::vector<Rectangle>();
+ m_aXineramaScreenIndexMap = std::vector<int>(nMonitors);
for (gint i = 0; i < nMonitors; ++i)
{
GdkRectangle dest;
gdk_screen_get_monitor_geometry(pScreen, i, &dest);
- addXineramaScreenUnique( dest.x, dest.y, dest.width, dest.height );
+ addXineramaScreenUnique( i, dest.x, dest.y, dest.width, dest.height );
}
m_bXinerama = m_aXineramaScreens.size() > 1;
if( ! m_aFrames.empty() )
@@ -235,6 +236,35 @@
}
}
+extern "C"
+{
+ typedef gint(* screen_get_primary_monitor)(GdkScreen *screen);
+}
+
+int GtkSalDisplay::GetDefaultMonitorNumber() const
+{
+ fprintf(stderr, "GtkSalDisplay::GetDefaultMonitorNumber\n");
+
+ GdkScreen* pScreen = gdk_display_get_screen( m_pGdkDisplay, m_nDefaultScreen );
+#if GTK_CHECK_VERSION(2,20,0)
+ return m_aXineramaScreenIndexMap[gdk_screen_get_primary_monitor(pScreen)];
+#else
+ static screen_get_primary_monitor sym_gdk_screen_get_primary_monitor =
+ (screen_get_primary_monitor)osl_getAsciiFunctionSymbol( GetSalData()->m_pPlugin, "gdk_screen_get_primary_monitor" );
+ if (sym_gdk_screen_get_primary_monitor)
+ return sym_gdk_screen_get_primary_monitor( pScreen );
+ //gdk_screen_get_primary_monitor unavailable, take the first laptop monitor as the default
+ gint nMonitors = gdk_screen_get_n_monitors(pScreen);
+ for (gint i = 0; i < nMonitors; ++i)
+ {
+ fprintf(stderr, "name is %s\n", gdk_screen_get_monitor_plug_name(pScreen, i));
+ if (g_ascii_strncasecmp (gdk_screen_get_monitor_plug_name(pScreen, i), "LVDS", 4) == 0)
+ return m_aXineramaScreenIndexMap[i];
+ }
+ return 0;
+#endif
+}
+
void GtkSalDisplay::initScreen( int nScreen ) const
{
if( nScreen < 0 || nScreen >= static_cast<int>(m_aScreens.size()) )
diff -ru vcl.orig/unx/inc/plugins/gtk/gtkdata.hxx vcl/unx/inc/plugins/gtk/gtkdata.hxx
--- vcl.orig/unx/inc/plugins/gtk/gtkdata.hxx 2010-06-14 19:51:39.547798667 +0100
+++ vcl/unx/inc/plugins/gtk/gtkdata.hxx 2010-06-14 20:33:22.407799098 +0100
@@ -76,6 +76,8 @@
virtual long Dispatch( XEvent *pEvent );
virtual void initScreen( int nScreen ) const;
+ virtual int GetDefaultMonitorNumber() const;
+
static GdkFilterReturn filterGdkEvent( GdkXEvent* sys_event,
GdkEvent* event,
gpointer data );
diff -ru vcl.orig/unx/inc/saldisp.hxx vcl/unx/inc/saldisp.hxx
--- vcl.orig/unx/inc/saldisp.hxx 2010-06-14 19:51:39.548798785 +0100
+++ vcl/unx/inc/saldisp.hxx 2010-06-15 10:06:53.031798755 +0100
@@ -389,6 +389,7 @@
bool m_bXinerama;
std::vector< Rectangle > m_aXineramaScreens;
+ std::vector< int > m_aXineramaScreenIndexMap;
std::list<SalFrame*> m_aFrames;
std::list<SalObject*> m_aSalObjects;
@@ -404,7 +405,7 @@
int processRandREvent( XEvent* );
void doDestruct();
- void addXineramaScreenUnique( long i_nX, long i_nY, long i_nWidth, long i_nHeight );
+ void addXineramaScreenUnique( int i, long i_nX, long i_nY, long i_nWidth, long i_nHeight );
public:
static SalDisplay *GetSalDisplay( Display* display );
static BOOL BestVisual( Display *pDisp,
@@ -474,6 +475,7 @@
XLIB_Window GetDrawable( int nScreen ) const { return getDataForScreen( nScreen ).m_aRefWindow; }
Display *GetDisplay() const { return pDisp_; }
int GetDefaultScreenNumber() const { return m_nDefaultScreen; }
+ virtual int GetDefaultMonitorNumber() const;
const Size& GetScreenSize( int nScreen ) const { return getDataForScreen( nScreen ).m_aSize; }
srv_vendor_t GetServerVendor() const { return meServerVendor; }
void SetServerVendor() { meServerVendor = sal_GetServerVendor(pDisp_); }
diff -ru vcl.orig/unx/source/app/saldisp.cxx vcl/unx/source/app/saldisp.cxx
--- vcl.orig/unx/source/app/saldisp.cxx 2010-06-14 19:51:39.516798973 +0100
+++ vcl/unx/source/app/saldisp.cxx 2010-06-15 10:12:39.627798619 +0100
@@ -62,9 +62,7 @@
#ifdef USE_XINERAMA
#ifdef USE_XINERAMA_XORG
-#if defined(X86) || defined(X86_64)
#include <X11/extensions/Xinerama.h>
-#endif
#elif defined USE_XINERAMA_XSUN
#if defined(SOLARIS) && defined(INTEL) // missing extension header in standard installation
#define MAXFRAMEBUFFERS 16
@@ -2597,7 +2595,7 @@
sal::static_int_cast< unsigned int >(GetVisual(m_nDefaultScreen).GetVisualId()) );
}
-void SalDisplay::addXineramaScreenUnique( long i_nX, long i_nY, long i_nWidth, long i_nHeight )
+void SalDisplay::addXineramaScreenUnique( int i, long i_nX, long i_nY, long i_nWidth, long i_nHeight )
{
// see if any frame buffers are at the same coordinates
// this can happen with weird configuration e.g. on
@@ -2612,10 +2610,12 @@
m_aXineramaScreens[n].GetHeight() < i_nHeight )
{
m_aXineramaScreens[n].SetSize( Size( i_nWidth, i_nHeight ) );
+ m_aXineramaScreenIndexMap[i] = n;
}
return;
}
}
+ m_aXineramaScreenIndexMap[i] = m_aXineramaScreens.size();
m_aXineramaScreens.push_back( Rectangle( Point( i_nX, i_nY ), Size( i_nWidth, i_nHeight ) ) );
}
@@ -2641,16 +2641,16 @@
if( result > 0 && nFramebuffers > 1 )
{
m_bXinerama = true;
- m_aXineramaScreens = std::vector<Rectangle>( nFramebuffers );
+ m_aXineramaScreens = std::vector<Rectangle>();
+ m_aXineramaScreenIndexMap = std::vector<int>(nFramebuffers);
for( int i = 0; i < nFramebuffers; i++ )
- addXineramaScreenUnique( pFramebuffers[i].x,
+ addXineramaScreenUnique( i, pFramebuffers[i].x,
pFramebuffers[i].y,
pFramebuffers[i].width,
pFramebuffers[i].height );
}
}
#elif defined(USE_XINERAMA_XORG)
-#if defined( X86 ) || defined( X86_64 )
if( XineramaIsActive( pDisp_ ) )
{
int nFramebuffers = 1;
@@ -2660,9 +2660,10 @@
if( nFramebuffers > 1 )
{
m_aXineramaScreens = std::vector<Rectangle>();
+ m_aXineramaScreenIndexMap = std::vector<int>(nFramebuffers);
for( int i = 0; i < nFramebuffers; i++ )
{
- addXineramaScreenUnique( pScreens[i].x_org,
+ addXineramaScreenUnique( i, pScreens[i].x_org,
pScreens[i].y_org,
pScreens[i].width,
pScreens[i].height );
@@ -2673,7 +2674,6 @@
}
}
#endif
-#endif
#if OSL_DEBUG_LEVEL > 1
if( m_bXinerama )
{
@@ -2684,6 +2684,11 @@
#endif // USE_XINERAMA
}
+int SalDisplay::GetDefaultMonitorNumber() const
+{
+ return 0;
+}
+
void SalDisplay::registerFrame( SalFrame* pFrame )
{
m_aFrames.push_front( pFrame );
diff -ru vcl.orig/unx/source/app/salsys.cxx vcl/unx/source/app/salsys.cxx
--- vcl.orig/unx/source/app/salsys.cxx 2010-06-14 19:51:39.515799413 +0100
+++ vcl/unx/source/app/salsys.cxx 2010-06-14 20:28:14.281799292 +0100
@@ -74,7 +74,7 @@
unsigned int X11SalSystem::GetDefaultDisplayNumber()
{
SalDisplay* pSalDisp = GetX11SalData()->GetDisplay();
- return pSalDisp->GetDefaultScreenNumber();
+ return pSalDisp->IsXinerama() ? pSalDisp->GetDefaultMonitorNumber() : pSalDisp->GetDefaultScreenNumber();
}
Rectangle X11SalSystem::GetDisplayScreenPosSizePixel( unsigned int nScreen )
Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/devel/openoffice.org.spec,v
retrieving revision 1.2250
retrieving revision 1.2251
diff -u -p -r1.2250 -r1.2251
--- openoffice.org.spec 18 Jun 2010 14:45:24 -0000 1.2250
+++ openoffice.org.spec 21 Jun 2010 08:42:17 -0000 1.2251
@@ -1,6 +1,6 @@
%define oootag OOO320
%define ooomilestone 19
-%define rh_rpm_release 15
+%define rh_rpm_release 16
# rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF
%define __jar_repack %{nil}
@@ -59,7 +59,7 @@ BuildRequires: neon-devel, libcurl-deve
BuildRequires: libXext-devel, libXt-devel, libICE-devel, libjpeg-devel, make
BuildRequires: gecko-devel, libwpd-devel, hunspell-devel, unixODBC-devel
BuildRequires: db4-devel, sane-backends-devel, libicu-devel, perl-Archive-Zip
-BuildRequires: freetype-devel, gtk2-devel, desktop-file-utils, hyphen-devel
+BuildRequires: freetype-devel, gtk3-devel, desktop-file-utils, hyphen-devel
BuildRequires: evolution-data-server-devel, libtextcat-devel, nss-devel
BuildRequires: gstreamer-devel, gstreamer-plugins-base-devel, openssl-devel
BuildRequires: lpsolve-devel, hsqldb, bsh, lucene, lucene-contrib
@@ -151,7 +151,7 @@ Patch80: workspace.vcl113.patch
Patch81: openoffice.org-3.3.0.ooo112363.accessibility.badindex.patch
Patch82: openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch
Patch83: workspace.gtkfpicker9.patch
-Patch84: openoffice.org-3.3.0.ooo112421.vcl.defaultmonitor.patch
+Patch84: workspace.gtk3.patch
Patch85: openoffice.org-3.3.0.ooo112516.sw.avoid.divbyzero.patch
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
@@ -190,10 +190,10 @@ Requires: liberation-sans-fonts >= 1.0,
Requires: dejavu-sans-fonts, dejavu-serif-fonts, dejavu-sans-mono-fonts
Requires: hunspell-en, hyphen-en, hyphen >= 2.4, autocorr-en
Requires: lucene
-Requires(pre): gtk2 >= 2.9.4
-Requires(post): gtk2 >= 2.9.4
-Requires(preun): gtk2 >= 2.9.4
-Requires(postun): gtk2 >= 2.9.4
+Requires(pre): gtk3 >= 2.9.4
+Requires(post): gtk3 >= 2.9.4
+Requires(preun): gtk3 >= 2.9.4
+Requires(postun): gtk3 >= 2.9.4
Obsoletes: openoffice.org < 1.9.0
Obsoletes: openoffice.org-libs < 1.9.0
Obsoletes: openoffice.org-i18n < 1.9.0
@@ -1717,7 +1717,7 @@ cp -p %{SOURCE5} external/unowinreg/unow
%patch81 -p0 -b .ooo112363.accessibility.badindex.patch
%patch82 -p0 -b .ooo112384.sw.export.doc.styledoesntexist.patch
%patch83 -p0 -b .workspace.gtkfpicker9.patch
-%patch84 -p0 -b .ooo112421.vcl.defaultmonitor.patch
+%patch84 -p0 -b .workspace.gtk3.patch
%patch85 -p0 -b .ooo112516.sw.avoid.divbyzero.patch
%build
@@ -4212,6 +4212,9 @@ fi
%endif
%changelog
+* Mon Jun 21 2010 Caolán McNamara <caolanm at redhat.com> - 1:3.2.1-19.16
+- Build against gtk3
+
* Fri Jun 18 2010 Caolán McNamara <caolanm at redhat.com> - 1:3.2.1-19.15
- Resolves: rhbz#605594 openoffice.org-3.3.0.ooo112516.sw.avoid.divbyzero.patch
--- openoffice.org-3.3.0.ooo112421.vcl.defaultmonitor.patch DELETED ---
More information about the scm-commits
mailing list