Default type conversion error when porting ubuntu touch to

I am trying to port ubuntu touch to xiaomi 2s phone. after run make command, an error occurs.

hardware/qcom/display/msm8960/libcopybit/copybit_c2d.cpp:1390:55: error: narrowing conversion of 'dst->copybit_image_t::w' from 'const uint32_t {aka const unsigned int}' to 'int' inside { } is ill-formed in C++11 [-Werror=narrowing]

it sounds like the copiler can not convert from copybit_image_t to copybit_rect_t. i have found the defination of the two type struct.

Code:
127 struct copybit_image_t {
128     /* width */
129     uint32_t    w;
130     /* height */
131     uint32_t    h;
132     /* format COPYBIT_FORMAT_xxx */
133     int32_t     format;
134     /* base of buffer with image */
135     void        *base;
136     /* handle to the image */
137     native_handle_t* handle;
138     /* number of pixels added for the stride */
139     uint32_t    horiz_padding;
140     /* number of pixels added for the vertical stride */
141     uint32_t    vert_padding;
142 };
143 
144 /* Rectangle */
145 struct copybit_rect_t {
146     /* left */
147     int l;
148     /* top */
149     int t;
150     /* right */
151     int r;
152     /* bottom */
153     int b;
154 };
i can not understand why this happened ? anyone can help me ?