summaryrefslogtreecommitdiff
path: root/legacy
diff options
context:
space:
mode:
Diffstat (limited to 'legacy')
-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 ff9f752..2de0ab8 100644
--- a/legacy/ecore/AUTHORS
+++ b/legacy/ecore/AUTHORS
@@ -55,3 +55,4 @@ Vikram Narayanan <vikram186@gmail.com>
55Seong-ho Cho (DarkCircle) <darkcircle.0426@gmail.com> 55Seong-ho Cho (DarkCircle) <darkcircle.0426@gmail.com>
56Patryk Kaczmarek <patryk.k@samsung.com> 56Patryk Kaczmarek <patryk.k@samsung.com>
57Daniel Willmann <d.willmann@samsung.com> 57Daniel Willmann <d.willmann@samsung.com>
58Michal Pakula vel Rutka <m.pakula@samsung.com>
diff --git a/legacy/ecore/ChangeLog b/legacy/ecore/ChangeLog
index e1db999..3a94577 100644
--- a/legacy/ecore/ChangeLog
+++ b/legacy/ecore/ChangeLog
@@ -998,3 +998,7 @@
998 * Wayland SHM now features a mechanism to synchronize rendering with 998 * Wayland SHM now features a mechanism to synchronize rendering with
999 the compositor, removing tearing effect in animations when using that 999 the compositor, removing tearing effect in animations when using that
1000 engine. 1000 engine.
1001
10022012-10-10 Michal Pakula vel Rutka
1003
1004 * Fix: Send ECORE_X_EVENT_SELECTION_NOTIFY even if there is no data.
diff --git a/legacy/ecore/NEWS b/legacy/ecore/NEWS
index a34205f..b98676b 100644
--- a/legacy/ecore/NEWS
+++ b/legacy/ecore/NEWS
@@ -37,6 +37,7 @@ Fixes:
37 - ecore_x_randr to actually return crtcs properly. 37 - ecore_x_randr to actually return crtcs properly.
38 - ecore_x_randr to actually return crtcs possible outputs properly. 38 - ecore_x_randr to actually return crtcs possible outputs properly.
39 - ecore_x_randr to actually return crtcs outputs properly. 39 - ecore_x_randr to actually return crtcs outputs properly.
40 - send ECORE_X_EVENT_SELECTION_NOTIFY even if there is no data.
40 41
41Improvements: 42Improvements:
42 43
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 1763397..b9accce 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)
1356 } 1356 }
1357 } 1357 }
1358 else 1358 else
1359 { 1359 format = ecore_x_window_prop_property_get(ev->requestor, ev->property,
1360 format = 1360 XCB_GET_PROPERTY_TYPE_ANY, 8,
1361 ecore_x_window_prop_property_get(ev->requestor, ev->property, 1361 &data, &num);
1362 XCB_GET_PROPERTY_TYPE_ANY, 8,
1363 &data, &num);
1364 if (!format) return;
1365 }
1366 1362
1367 e = calloc(1, sizeof(Ecore_X_Event_Selection_Notify)); 1363 e = calloc(1, sizeof(Ecore_X_Event_Selection_Notify));
1368 if (!e) return; 1364 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 2fe148b..d7fbf05 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__,
748 sel = calloc(1, sizeof(Ecore_X_Selection_Data_Text)); 748 sel = calloc(1, sizeof(Ecore_X_Selection_Data_Text));
749 if (!sel) return NULL; 749 if (!sel) return NULL;
750 750
751 if (_data[size - 1]) 751 if (data && data[size - 1])
752 { 752 {
753 size++; 753 size++;
754 t = realloc(_data, size); 754 t = realloc(_data, size);
@@ -790,7 +790,7 @@ _ecore_xcb_selection_parser_files(const char *target,
790 790
791 ECORE_XCB_SELECTION_DATA(sel)->free = _ecore_xcb_selection_data_files_free; 791 ECORE_XCB_SELECTION_DATA(sel)->free = _ecore_xcb_selection_data_files_free;
792 792
793 if (_data[size - 1]) 793 if (data && data[size - 1])
794 { 794 {
795 size++; 795 size++;
796 t = realloc(_data, size); 796 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 7d685cf..2e780aa 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)
1415 } 1415 }
1416 } 1416 }
1417 else 1417 else
1418 { 1418 format = ecore_x_window_prop_property_get(xevent->xselection.requestor,
1419 format = ecore_x_window_prop_property_get(xevent->xselection.requestor, 1419 xevent->xselection.property,
1420 xevent->xselection.property, 1420 AnyPropertyType, 8, &data,
1421 AnyPropertyType, 8, &data, 1421 &num_ret);
1422 &num_ret);
1423 if (!format)
1424 return;
1425 }
1426 1422
1427 e = calloc(1, sizeof(Ecore_X_Event_Selection_Notify)); 1423 e = calloc(1, sizeof(Ecore_X_Event_Selection_Notify));
1428 if (!e) 1424 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 e94d5a3..476621a 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,
810 if (!sel) return NULL; 810 if (!sel) return NULL;
811 ECORE_X_SELECTION_DATA(sel)->free = _ecore_x_selection_data_files_free; 811 ECORE_X_SELECTION_DATA(sel)->free = _ecore_x_selection_data_files_free;
812 812
813 if (data[size - 1]) 813 if (data && data[size - 1])
814 { 814 {
815 /* Isn't nul terminated */ 815 /* Isn't nul terminated */
816 size++; 816 size++;
@@ -909,7 +909,7 @@ _ecore_x_selection_parser_text(const char *target __UNUSED__,
909 909
910 sel = calloc(1, sizeof(Ecore_X_Selection_Data_Text)); 910 sel = calloc(1, sizeof(Ecore_X_Selection_Data_Text));
911 if (!sel) return NULL; 911 if (!sel) return NULL;
912 if (data[size - 1]) 912 if (data && data[size - 1])
913 { 913 {
914 /* Isn't nul terminated */ 914 /* Isn't nul terminated */
915 size++; 915 size++;