aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--legacy/ecore/AUTHORS1
-rw-r--r--legacy/ecore/ChangeLog4
-rw-r--r--legacy/ecore/NEWS1
-rw-r--r--legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_events.c10
-rw-r--r--legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_selection.c4
-rw-r--r--legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c12
-rw-r--r--legacy/ecore/src/lib/ecore_x/xlib/ecore_x_selection.c4
7 files changed, 17 insertions, 19 deletions
diff --git a/legacy/ecore/AUTHORS b/legacy/ecore/AUTHORS
index ff9f752f4c..2de0ab8794 100644
--- a/legacy/ecore/AUTHORS
+++ b/legacy/ecore/AUTHORS
@@ -55,3 +55,4 @@ Vikram Narayanan <vikram186@gmail.com>
Seong-ho Cho (DarkCircle) <darkcircle.0426@gmail.com>
Patryk Kaczmarek <patryk.k@samsung.com>
Daniel Willmann <d.willmann@samsung.com>
+Michal Pakula vel Rutka <m.pakula@samsung.com>
diff --git a/legacy/ecore/ChangeLog b/legacy/ecore/ChangeLog
index e1db999616..3a94577a0a 100644
--- a/legacy/ecore/ChangeLog
+++ b/legacy/ecore/ChangeLog
@@ -998,3 +998,7 @@
* Wayland SHM now features a mechanism to synchronize rendering with
the compositor, removing tearing effect in animations when using that
engine.
+
+2012-10-10 Michal Pakula vel Rutka
+
+ * Fix: Send ECORE_X_EVENT_SELECTION_NOTIFY even if there is no data.
diff --git a/legacy/ecore/NEWS b/legacy/ecore/NEWS
index a34205f14f..b98676bb85 100644
--- a/legacy/ecore/NEWS
+++ b/legacy/ecore/NEWS
@@ -37,6 +37,7 @@ Fixes:
- ecore_x_randr to actually return crtcs properly.
- ecore_x_randr to actually return crtcs possible outputs properly.
- ecore_x_randr to actually return crtcs outputs properly.
+ - send ECORE_X_EVENT_SELECTION_NOTIFY even if there is no data.
Improvements:
diff --git a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_events.c b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_events.c
index 1763397a26..b9acccebf4 100644
--- a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_events.c
+++ b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_events.c
@@ -1356,13 +1356,9 @@ _ecore_xcb_event_handle_selection_notify(xcb_generic_event_t *event)
}
}
else
- {
- format =
- ecore_x_window_prop_property_get(ev->requestor, ev->property,
- XCB_GET_PROPERTY_TYPE_ANY, 8,
- &data, &num);
- if (!format) return;
- }
+ format = ecore_x_window_prop_property_get(ev->requestor, ev->property,
+ XCB_GET_PROPERTY_TYPE_ANY, 8,
+ &data, &num);
e = calloc(1, sizeof(Ecore_X_Event_Selection_Notify));
if (!e) return;
diff --git a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_selection.c b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_selection.c
index 2fe148ba5e..d7fbf05982 100644
--- a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_selection.c
+++ b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_selection.c
@@ -748,7 +748,7 @@ _ecore_xcb_selection_parser_text(const char *target __UNUSED__,
sel = calloc(1, sizeof(Ecore_X_Selection_Data_Text));
if (!sel) return NULL;
- if (_data[size - 1])
+ if (data && data[size - 1])
{
size++;
t = realloc(_data, size);
@@ -790,7 +790,7 @@ _ecore_xcb_selection_parser_files(const char *target,
ECORE_XCB_SELECTION_DATA(sel)->free = _ecore_xcb_selection_data_files_free;
- if (_data[size - 1])
+ if (data && data[size - 1])
{
size++;
t = realloc(_data, size);
diff --git a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c
index 7d685cf83f..2e780aa19b 100644
--- a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c
+++ b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c
@@ -1415,14 +1415,10 @@ _ecore_x_event_handle_selection_notify(XEvent *xevent)
}
}
else
- {
- format = ecore_x_window_prop_property_get(xevent->xselection.requestor,
- xevent->xselection.property,
- AnyPropertyType, 8, &data,
- &num_ret);
- if (!format)
- return;
- }
+ format = ecore_x_window_prop_property_get(xevent->xselection.requestor,
+ xevent->xselection.property,
+ AnyPropertyType, 8, &data,
+ &num_ret);
e = calloc(1, sizeof(Ecore_X_Event_Selection_Notify));
if (!e)
diff --git a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_selection.c b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_selection.c
index e94d5a3a14..476621a289 100644
--- a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_selection.c
+++ b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_selection.c
@@ -810,7 +810,7 @@ _ecore_x_selection_parser_files(const char *target,
if (!sel) return NULL;
ECORE_X_SELECTION_DATA(sel)->free = _ecore_x_selection_data_files_free;
- if (data[size - 1])
+ if (data && data[size - 1])
{
/* Isn't nul terminated */
size++;
@@ -909,7 +909,7 @@ _ecore_x_selection_parser_text(const char *target __UNUSED__,
sel = calloc(1, sizeof(Ecore_X_Selection_Data_Text));
if (!sel) return NULL;
- if (data[size - 1])
+ if (data && data[size - 1])
{
/* Isn't nul terminated */
size++;