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 +#include #ifdef GDK_WINDOWING_X11 #include #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