no longer shall the masses waste away under the continued oppression of blank hoverse...
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Sun, 17 Feb 2013 14:31:52 +0000 (14:31 +0000)
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Sun, 17 Feb 2013 14:31:52 +0000 (14:31 +0000)
SVN revision: 84022

ChangeLog
NEWS
src/lib/elm_entry.c

index 37a200ea9fd3611360e74759cced63917abe4261..ad67de8053383c78e2d808ae24b4a44865b01747 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 2013-02-17 Mike Blumenkrantz
 
         * ignore tab key widget focus change if control/alt is pressed
+        * prevent blank entry hoversels
diff --git a/NEWS b/NEWS
index f7ffacc0cac04602e0cc6b28717765e0aa3ae094..9262f634708ccc2db15bf6624cb947a7773000c8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,7 @@ Fixes:
    * Fix a elm_transit crash issue when user delete all target objects in the effect end callback.
    * elm_entry_single_line_set should not change cnp_mode when PLAINTEXT mode.
    * ignore tab key widget focus change if control/alt is pressed
+   * prevent blank entry hoversels
 
 Elementary 1.7.5
 
index aa1e7a9138e09591d17f13357976ed51f1958e2a..8684a7049eeaf459aacae62232cf8bd5d36a321e 100644 (file)
@@ -1375,7 +1375,15 @@ _menu_press(Evas_Object *obj)
    else if (wd->context_menu)
      {
         const char *context_menu_orientation;
+        Eina_Bool ownersel;
 
+        ownersel = elm_selection_selection_has_owner(obj);
+        if (!wd->items)
+          {
+             /* prevent stupid blank hoversel */
+             if (wd->have_selection && wd->password) return;
+             if (wd->selmode || (_elm_config->desktop_entry && ((!wd->editable) || (!ownersel)))) return;
+          }
         if (wd->hoversel) evas_object_del(wd->hoversel);
         else elm_widget_scroll_freeze_push(obj);
         wd->hoversel = elm_hoversel_add(obj);
@@ -1416,7 +1424,7 @@ _menu_press(Evas_Object *obj)
                          elm_hoversel_item_add(wd->hoversel, E_("Select"), NULL, ELM_ICON_NONE,
                                                _select, obj);
                     }
-                  if (elm_selection_selection_has_owner(obj))
+                  if (ownersel)
                     {
                        if (wd->editable)
                          elm_hoversel_item_add(wd->hoversel, E_("Paste"), NULL, ELM_ICON_NONE,