--- old/src/solaris/native/sun/awt/gtk2_interface.c 2012-04-02 15:52:01.161523071 +0400 +++ new/src/solaris/native/sun/awt/gtk2_interface.c 2012-04-02 15:52:00.203763370 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -432,6 +432,39 @@ } /** + * Functions for awt_Desktop.c + */ +gboolean gtk2_show_uri_load() { + gboolean success = TRUE; + dlerror(); + fp_gtk_show_uri = dl_symbol("gtk_show_uri"); + const char *dlsym_error = dlerror(); + const char *gtk_version = fp_gtk_check_version(2, 14, 0); + if ( gtk_version != NULL) { + // The gtk_show_uri is available from GTK+ 2.14 +#ifdef INTERNAL_BUILD + fprintf (stderr, "The version of GTK is %s. " + "The gtk_show_uri function is supported " + "since GTK+ 2.14.\n", gtk_version); +#endif /* INTERNAL_BUILD */ + success = FALSE; + } + if (dlsym_error) { +#ifdef INTERNAL_BUILD + fprintf (stderr, "Cannot load symbol: %s \n", dlsym_error); +#endif /* INTERNAL_BUILD */ + success = FALSE; + } + if (fp_gtk_show_uri == NULL) { +#ifdef INTERNAL_BUILD + fprintf(stderr, "dlsym(gtk_show_uri) returned NULL\n"); +#endif /* INTERNAL_BUILD */ + success = FALSE; + } + return success; +} + +/** * Functions for sun_awt_X11_GtkFileDialogPeer.c */ void gtk2_file_chooser_load()