X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtklinkbutton.c;h=b5981c741f5ea55192dd40ddbeb9d8fb5e7b5f94;hb=bda5987335b8c7828ebf1d289a91accfe2e74dbe;hp=f17be71473af283c9242014628ebf08eb887ed39;hpb=adc731fad922cb62f982fd753104bfd4365d02aa;p=~andy%2Fgtk diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c index f17be7147..b5981c741 100644 --- a/gtk/gtklinkbutton.c +++ b/gtk/gtklinkbutton.c @@ -18,8 +18,7 @@ * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA. + * License along with this library. If not, see . */ /** @@ -164,9 +163,9 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass) klass->activate_link = gtk_link_button_activate_link; /** - * GtkLinkButton:uri - * - * The URI bound to this button. + * GtkLinkButton:uri: + * + * The URI bound to this button. * * Since: 2.10 */ @@ -178,8 +177,8 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass) NULL, G_PARAM_READWRITE)); /** - * GtkLinkButton:visited - * + * GtkLinkButton:visited: + * * The 'visited' state of this button. A visited link is drawn in a * different color. * @@ -446,7 +445,7 @@ popup_position_func (GtkMenu *menu, monitor_num = gdk_screen_get_monitor_at_point (screen, *x, *y); gtk_menu_set_monitor (menu, monitor_num); - gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); + gdk_screen_get_monitor_workarea (screen, monitor_num, &monitor); *x = CLAMP (*x, monitor.x, monitor.x + MAX (0, monitor.width - req.width)); *y = CLAMP (*y, monitor.y, monitor.y + MAX (0, monitor.height - req.height)); @@ -527,7 +526,10 @@ gtk_link_button_button_press (GtkWidget *widget, if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); - if (gdk_event_triggers_context_menu ((GdkEvent *) event)) + /* Don't popup the menu if there's no URI set, + * otherwise the menu item will trigger a warning */ + if (gdk_event_triggers_context_menu ((GdkEvent *) event) && + GTK_LINK_BUTTON (widget)->priv->uri != NULL) { gtk_link_button_do_popup (GTK_LINK_BUTTON (widget), event);