[PATCH 1/2] comctl32/tests: Changed rebar layout tests to load data dynamically.

Austin Lund austin.lund at gmail.com
Wed Nov 10 17:12:53 CST 2010


---
 dlls/comctl32/tests/rebar.c |  345 +++++++++++++++++++++++++++++--------------
 1 files changed, 232 insertions(+), 113 deletions(-)

diff --git a/dlls/comctl32/tests/rebar.c b/dlls/comctl32/tests/rebar.c
index 0672720..7a92c9e 100644
--- a/dlls/comctl32/tests/rebar.c
+++ b/dlls/comctl32/tests/rebar.c
@@ -190,121 +190,238 @@ typedef struct {
     RECT rcClient;
     int cyBarHeight;
     int nRows;
-    int cyRowHeights[50];
+    int *cyRowHeights;
     int nBands;
-    rbband_result_t bands[50];
+    rbband_result_t *bands;
 } rbsize_result_t;
 
-static const rbsize_result_t rbsize_results[] = {
-  { {0, 0, 672, 0}, 0, 0, {0, }, 0, {{{0, 0, 0, 0}, 0, 0},
-  }, },
-  { {0, 0, 672, 4}, 4, 1, {4, }, 1, {
-    { {  0,   0, 672,   4}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 4}, 4, 1, {4, }, 2, {
-    { {  0,   0, 200,   4}, 0x00, 200}, { {200,   0, 672,   4}, 0x04, 200},
-  }, },
-  { {0, 0, 672, 30}, 30, 1, {30, }, 3, {
-    { {  0,   0, 200,  30}, 0x00, 200}, { {200,   0, 400,  30}, 0x04, 200},
-    { {400,   0, 672,  30}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 34}, 34, 1, {34, }, 4, {
-    { {  0,   0, 200,  34}, 0x00, 200}, { {200,   0, 400,  34}, 0x04, 200},
-    { {400,   0, 604,  34}, 0x00, 200}, { {604,   0, 672,  34}, 0x04, 68},
-  }, },
-  { {0, 0, 672, 34}, 34, 1, {34, }, 4, {
-    { {  0,   0, 200,  34}, 0x00, 200}, { {200,   0, 400,  34}, 0x04, 200},
-    { {400,   0, 604,  34}, 0x00, 200}, { {604,   0, 672,  34}, 0x04, 68},
-  }, },
-  { {0, 0, 672, 34}, 34, 1, {34, }, 4, {
-    { {  0,   0, 200,  34}, 0x00, 200}, { {202,   0, 402,  34}, 0x04, 200},
-    { {404,   0, 604,  34}, 0x00, 200}, { {606,   0, 672,  34}, 0x04, 66},
-  }, },
-  { {0, 0, 672, 70}, 70, 2, {34, 34, }, 5, {
-    { {  0,   0, 142,  34}, 0x00, 200}, { {144,   0, 557,  34}, 0x00, 200},
-    { {559,   0, 672,  34}, 0x04, 200}, { {  0,  36, 200,  70}, 0x00, 200},
-    { {202,  36, 672,  70}, 0x04, 66},
-  }, },
-  { {0, 0, 672, 34}, 34, 1, {34, }, 5, {
-    { {  0,   0, 167,  34}, 0x00, 200}, { {169,   0, 582,  34}, 0x00, 200},
-    { {559,   0, 759,  34}, 0x08, 200}, { {584,   0, 627,  34}, 0x00, 200},
-    { {629,   0, 672,  34}, 0x04, 66},
-  }, },
-  { {0, 0, 672, 34}, 34, 1, {34, }, 4, {
-    { {  0,   0, 167,  34}, 0x00, 200}, { {169,   0, 582,  34}, 0x00, 200},
-    { {584,   0, 627,  34}, 0x00, 200}, { {629,   0, 672,  34}, 0x04, 66},
-  }, },
-  { {0, 0, 672, 34}, 34, 1, {34, }, 3, {
-    { {  0,   0, 413,  34}, 0x00, 200}, { {415,   0, 615,  34}, 0x00, 200},
-    { {617,   0, 672,  34}, 0x04, 66},
-  }, },
-  { {0, 0, 672, 34}, 34, 1, {34, }, 2, {
-    { {  0,   0, 604,  34}, 0x00, 200}, { {606,   0, 672,  34}, 0x04, 66},
-  }, },
-  { {0, 0, 672, 40}, 40, 2, {20, 20, }, 5, {
-    { {  0,   0, 114,  20}, 0x00, 40}, { {114,   0, 184,  20}, 0x00, 70},
-    { {184,   0, 424,  20}, 0x00, 240}, { {424,   0, 672,  20}, 0x00, 60},
-    { {  0,  20, 672,  40}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 40}, 40, 2, {20, 20, }, 5, {
-    { {  0,   0, 114,  20}, 0x00, 40}, { {114,   0, 227,  20}, 0x00, 113},
-    { {227,   0, 424,  20}, 0x00, 197}, { {424,   0, 672,  20}, 0x00, 60},
-    { {  0,  20, 672,  40}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 40}, 40, 2, {20, 20, }, 5, {
-    { {  0,   0, 114,  20}, 0x00, 40}, { {114,   0, 328,  20}, 0x00, 214},
-    { {328,   0, 511,  20}, 0x00, 183}, { {511,   0, 672,  20}, 0x00, 161},
-    { {  0,  20, 672,  40}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 40}, 40, 2, {20, 20, }, 5, {
-    { {  0,   0, 114,  20}, 0x00, 40}, { {114,   0, 167,  20}, 0x00, 53},
-    { {167,   0, 511,  20}, 0x00, 344}, { {511,   0, 672,  20}, 0x00, 161},
-    { {  0,  20, 672,  40}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 40}, 40, 2, {20, 20, }, 5, {
-    { {  0,   0, 114,  20}, 0x00, 40}, { {114,   0, 328,  20}, 0x00, 214},
-    { {328,   0, 511,  20}, 0x00, 183}, { {511,   0, 672,  20}, 0x00, 161},
-    { {  0,  20, 672,  40}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 40}, 40, 2, {20, 20, }, 5, {
-    { {  0,   0, 114,  20}, 0x00, 40}, { {114,   0, 328,  20}, 0x00, 214},
-    { {328,   0, 511,  20}, 0x00, 183}, { {511,   0, 672,  20}, 0x00, 161},
-    { {  0,  20, 672,  40}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 56}, 56, 2, {28, 28, }, 5, {
-    { {  0,   0, 114,  28}, 0x00, 40}, { {114,   0, 328,  28}, 0x00, 214},
-    { {328,   0, 511,  28}, 0x00, 183}, { {511,   0, 672,  28}, 0x00, 161},
-    { {  0,  28, 672,  56}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 40}, 40, 2, {20, 20, }, 5, {
-    { {  0,   0, 114,  20}, 0x00, 40}, { {114,   0, 328,  20}, 0x00, 214},
-    { {328,   0, 511,  20}, 0x00, 183}, { {511,   0, 672,  20}, 0x00, 161},
-    { {  0,  20, 672,  40}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 56}, 56, 2, {28, 28, }, 5, {
-    { {  0,   0, 114,  28}, 0x00, 40}, { {114,   0, 328,  28}, 0x00, 214},
-    { {328,   0, 511,  28}, 0x00, 183}, { {511,   0, 672,  28}, 0x00, 161},
-    { {  0,  28, 672,  56}, 0x00, 200},
-  }, },
-  { {0, 0, 672, 0}, 0, 0, {0, }, 0, {{{0, 0, 0, 0}, 0, 0},
-  }, },
-  { {0, 0, 672, 65}, 65, 1, {65, }, 3, {
-    { {  0,   0,  90,  65}, 0x40, 90}, { { 90,   0, 180,  65}, 0x40, 90},
-    { {180,   0, 672,  65}, 0x40, 90},
-  }, },
-  { {0, 0, 0, 226}, 0, 0, {0, }, 0, {{{0, 0, 0, 0}, 0, 0},
-  }, },
-  { {0, 0, 65, 226}, 65, 1, {65, }, 1, {
-    { {  0,   0, 226,  65}, 0x40, 90},
-  }, },
-  { {0, 0, 65, 226}, 65, 1, {65, }, 2, {
-    { {  0,   0,  90,  65}, 0x40, 90}, { { 90,   0, 226,  65}, 0x40, 90},
-  }, },
-  { {0, 0, 65, 226}, 65, 1, {65, }, 3, {
-    { {  0,   0,  90,  65}, 0x40, 90}, { { 90,   0, 163,  65}, 0x40, 90},
-    { {163,   0, 226,  65}, 0x40, 90},
-  }, },
-};
+static rbsize_result_t rbsize_init(int cleft, int ctop, int cright, int cbottom, int cyBarHeight, int nRows, int nBands)
+{
+    rbsize_result_t *temp;
+
+    temp = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(rbsize_result_t));
+    SetRect(&temp->rcClient, cleft, ctop, cright, cbottom);
+    temp->cyBarHeight = cyBarHeight;
+    temp->nRows = 0;
+    temp->cyRowHeights = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nRows*sizeof(int));
+    temp->nBands = 0;
+    temp->bands = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nBands*sizeof(rbband_result_t));
+
+    return *temp;
+}
+
+static void rbsize_add_row(rbsize_result_t *rbsr, int rowHeight) {
+    rbsr->cyRowHeights[rbsr->nRows] = rowHeight;
+    rbsr->nRows++;
+}
+
+static void rbsize_add_band(rbsize_result_t *rbsr, int left, int top, int right, int bottom, DWORD fStyle, INT cx)
+{
+    SetRect(&(rbsr->bands[rbsr->nBands].rc), left, top, right, bottom);
+    rbsr->bands[rbsr->nBands].fStyle = fStyle;
+    rbsr->bands[rbsr->nBands].cx = cx;
+    rbsr->nBands++;
+}
+
+static rbsize_result_t *rbsize_results = NULL;
+
+#define rbsize_results_num 27
+
+static void rbsize_results_init(void)
+{
+    rbsize_results = HeapAlloc(GetProcessHeap(), 0, rbsize_results_num*sizeof(rbsize_result_t));
+
+    rbsize_results[0] = rbsize_init(0, 0, 672, 0, 0, 0, 0);
+
+    rbsize_results[1] = rbsize_init(0, 0, 672, 4, 4, 1, 1);
+    rbsize_add_row(&rbsize_results[1], 4);
+    rbsize_add_band(&rbsize_results[1], 0, 0, 672, 4, 0x00, 200);
+
+    rbsize_results[2] = rbsize_init(0, 0, 672, 4, 4, 1, 2);
+    rbsize_add_row(&rbsize_results[2], 4);
+    rbsize_add_band(&rbsize_results[2], 0, 0, 200, 4, 0x00, 200);
+    rbsize_add_band(&rbsize_results[2], 200, 0, 672, 4, 0x04, 200);
+
+    rbsize_results[3] = rbsize_init(0, 0, 672, 30, 30, 1, 3);
+    rbsize_add_row(&rbsize_results[3], 30);
+    rbsize_add_band(&rbsize_results[3], 0, 0, 200, 30, 0x00, 200);
+    rbsize_add_band(&rbsize_results[3], 200, 0, 400, 30, 0x04, 200);
+    rbsize_add_band(&rbsize_results[3], 400, 0, 672, 30, 0x00, 200);
+
+    rbsize_results[4] = rbsize_init(0, 0, 672, 34, 34, 1, 4);
+    rbsize_add_row(&rbsize_results[4], 34);
+    rbsize_add_band(&rbsize_results[4], 0, 0, 200, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[4], 200, 0, 400, 34, 0x04, 200);
+    rbsize_add_band(&rbsize_results[4], 400, 0, 604, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[4], 604, 0, 672, 34, 0x04, 68);
+
+    rbsize_results[5] = rbsize_init(0, 0, 672, 34, 34, 1, 4);
+    rbsize_add_row(&rbsize_results[5], 34);
+    rbsize_add_band(&rbsize_results[5], 0, 0, 200, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[5], 200, 0, 400, 34, 0x04, 200);
+    rbsize_add_band(&rbsize_results[5], 400, 0, 604, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[5], 604, 0, 672, 34, 0x04, 68);
+
+    rbsize_results[6] = rbsize_init(0, 0, 672, 34, 34, 1, 4);
+    rbsize_add_row(&rbsize_results[6], 34);
+    rbsize_add_band(&rbsize_results[6], 0, 0, 200, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[6], 202, 0, 402, 34, 0x04, 200);
+    rbsize_add_band(&rbsize_results[6], 404, 0, 604, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[6], 606, 0, 672, 34, 0x04, 66);
+
+    rbsize_results[7] = rbsize_init(0, 0, 672, 70, 70, 2, 5);
+    rbsize_add_row(&rbsize_results[7], 34);
+    rbsize_add_row(&rbsize_results[7], 34);
+    rbsize_add_band(&rbsize_results[7], 0, 0, 142, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[7], 144, 0, 557, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[7], 559, 0, 672, 34, 0x04, 200);
+    rbsize_add_band(&rbsize_results[7], 0, 36, 200, 70, 0x00, 200);
+    rbsize_add_band(&rbsize_results[7], 202, 36, 672, 70, 0x04, 66);
+
+    rbsize_results[8] = rbsize_init(0, 0, 672, 34, 34, 1, 5);
+    rbsize_add_row(&rbsize_results[8], 34);
+    rbsize_add_band(&rbsize_results[8], 0, 0, 167, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[8], 169, 0, 582, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[8], 559, 0, 759, 34, 0x08, 200);
+    rbsize_add_band(&rbsize_results[8], 584, 0, 627, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[8], 629, 0, 672, 34, 0x04, 66);
+
+    rbsize_results[9] = rbsize_init(0, 0, 672, 34, 34, 1, 4);
+    rbsize_add_row(&rbsize_results[9], 34);
+    rbsize_add_band(&rbsize_results[9], 0, 0, 167, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[9], 169, 0, 582, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[9], 584, 0, 627, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[9], 629, 0, 672, 34, 0x04, 66);
+
+    rbsize_results[10] = rbsize_init(0, 0, 672, 34, 34, 1, 3);
+    rbsize_add_row(&rbsize_results[10], 34);
+    rbsize_add_band(&rbsize_results[10], 0, 0, 413, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[10], 415, 0, 615, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[10], 617, 0, 672, 34, 0x04, 66);
+
+    rbsize_results[11] = rbsize_init(0, 0, 672, 34, 34, 1, 2);
+    rbsize_add_row(&rbsize_results[11], 34);
+    rbsize_add_band(&rbsize_results[11], 0, 0, 604, 34, 0x00, 200);
+    rbsize_add_band(&rbsize_results[11], 606, 0, 672, 34, 0x04, 66);
+
+    rbsize_results[12] = rbsize_init(0, 0, 672, 40, 40, 2, 5);
+    rbsize_add_row(&rbsize_results[12], 20);
+    rbsize_add_row(&rbsize_results[12], 20);
+    rbsize_add_band(&rbsize_results[12], 0, 0, 114, 20, 0x00, 40);
+    rbsize_add_band(&rbsize_results[12], 114, 0, 184, 20, 0x00, 70);
+    rbsize_add_band(&rbsize_results[12], 184, 0, 424, 20, 0x00, 240);
+    rbsize_add_band(&rbsize_results[12], 424, 0, 672, 20, 0x00, 60);
+    rbsize_add_band(&rbsize_results[12], 0, 20, 672, 40, 0x00, 200);
+
+    rbsize_results[13] = rbsize_init(0, 0, 672, 40, 40, 2, 5);
+    rbsize_add_row(&rbsize_results[13], 20);
+    rbsize_add_row(&rbsize_results[13], 20);
+    rbsize_add_band(&rbsize_results[13], 0, 0, 114, 20, 0x00, 40);
+    rbsize_add_band(&rbsize_results[13], 114, 0, 227, 20, 0x00, 113);
+    rbsize_add_band(&rbsize_results[13], 227, 0, 424, 20, 0x00, 197);
+    rbsize_add_band(&rbsize_results[13], 424, 0, 672, 20, 0x00, 60);
+    rbsize_add_band(&rbsize_results[13], 0, 20, 672, 40, 0x00, 200);
+
+    rbsize_results[14] = rbsize_init(0, 0, 672, 40, 40, 2, 5);
+    rbsize_add_row(&rbsize_results[14], 20);
+    rbsize_add_row(&rbsize_results[14], 20);
+    rbsize_add_band(&rbsize_results[14], 0, 0, 114, 20, 0x00, 40);
+    rbsize_add_band(&rbsize_results[14], 114, 0, 328, 20, 0x00, 214);
+    rbsize_add_band(&rbsize_results[14], 328, 0, 511, 20, 0x00, 183);
+    rbsize_add_band(&rbsize_results[14], 511, 0, 672, 20, 0x00, 161);
+    rbsize_add_band(&rbsize_results[14], 0, 20, 672, 40, 0x00, 200);
+
+    rbsize_results[15] = rbsize_init(0, 0, 672, 40, 40, 2, 5);
+    rbsize_add_row(&rbsize_results[15], 20);
+    rbsize_add_row(&rbsize_results[15], 20);
+    rbsize_add_band(&rbsize_results[15], 0, 0, 114, 20, 0x00, 40);
+    rbsize_add_band(&rbsize_results[15], 114, 0, 167, 20, 0x00, 53);
+    rbsize_add_band(&rbsize_results[15], 167, 0, 511, 20, 0x00, 344);
+    rbsize_add_band(&rbsize_results[15], 511, 0, 672, 20, 0x00, 161);
+    rbsize_add_band(&rbsize_results[15], 0, 20, 672, 40, 0x00, 200);
+
+    rbsize_results[16] = rbsize_init(0, 0, 672, 40, 40, 2, 5);
+    rbsize_add_row(&rbsize_results[16], 20);
+    rbsize_add_row(&rbsize_results[16], 20);
+    rbsize_add_band(&rbsize_results[16], 0, 0, 114, 20, 0x00, 40);
+    rbsize_add_band(&rbsize_results[16], 114, 0, 328, 20, 0x00, 214);
+    rbsize_add_band(&rbsize_results[16], 328, 0, 511, 20, 0x00, 183);
+    rbsize_add_band(&rbsize_results[16], 511, 0, 672, 20, 0x00, 161);
+    rbsize_add_band(&rbsize_results[16], 0, 20, 672, 40, 0x00, 200);
+
+    rbsize_results[17] = rbsize_init(0, 0, 672, 40, 40, 2, 5);
+    rbsize_add_row(&rbsize_results[17], 20);
+    rbsize_add_row(&rbsize_results[17], 20);
+    rbsize_add_band(&rbsize_results[17], 0, 0, 114, 20, 0x00, 40);
+    rbsize_add_band(&rbsize_results[17], 114, 0, 328, 20, 0x00, 214);
+    rbsize_add_band(&rbsize_results[17], 328, 0, 511, 20, 0x00, 183);
+    rbsize_add_band(&rbsize_results[17], 511, 0, 672, 20, 0x00, 161);
+    rbsize_add_band(&rbsize_results[17], 0, 20, 672, 40, 0x00, 200);
+
+    rbsize_results[18] = rbsize_init(0, 0, 672, 56, 56, 2, 5);
+    rbsize_add_row(&rbsize_results[18], 28);
+    rbsize_add_row(&rbsize_results[18], 28);
+    rbsize_add_band(&rbsize_results[18], 0, 0, 114, 28, 0x00, 40);
+    rbsize_add_band(&rbsize_results[18], 114, 0, 328, 28, 0x00, 214);
+    rbsize_add_band(&rbsize_results[18], 328, 0, 511, 28, 0x00, 183);
+    rbsize_add_band(&rbsize_results[18], 511, 0, 672, 28, 0x00, 161);
+    rbsize_add_band(&rbsize_results[18], 0, 28, 672, 56, 0x00, 200);
+
+    rbsize_results[19] = rbsize_init(0, 0, 672, 40, 40, 2, 5);
+    rbsize_add_row(&rbsize_results[19], 20);
+    rbsize_add_row(&rbsize_results[19], 20);
+    rbsize_add_band(&rbsize_results[19], 0, 0, 114, 20, 0x00, 40);
+    rbsize_add_band(&rbsize_results[19], 114, 0, 328, 20, 0x00, 214);
+    rbsize_add_band(&rbsize_results[19], 328, 0, 511, 20, 0x00, 183);
+    rbsize_add_band(&rbsize_results[19], 511, 0, 672, 20, 0x00, 161);
+    rbsize_add_band(&rbsize_results[19], 0, 20, 672, 40, 0x00, 200);
+
+    rbsize_results[20] = rbsize_init(0, 0, 672, 56, 56, 2, 5);
+    rbsize_add_row(&rbsize_results[20], 28);
+    rbsize_add_row(&rbsize_results[20], 28);
+    rbsize_add_band(&rbsize_results[20], 0, 0, 114, 28, 0x00, 40);
+    rbsize_add_band(&rbsize_results[20], 114, 0, 328, 28, 0x00, 214);
+    rbsize_add_band(&rbsize_results[20], 328, 0, 511, 28, 0x00, 183);
+    rbsize_add_band(&rbsize_results[20], 511, 0, 672, 28, 0x00, 161);
+    rbsize_add_band(&rbsize_results[20], 0, 28, 672, 56, 0x00, 200);
+
+    rbsize_results[21] = rbsize_init(0, 0, 672, 0, 0, 0, 0);
+
+    rbsize_results[22] = rbsize_init(0, 0, 672, 65, 56, 1, 3);
+    rbsize_add_row(&rbsize_results[22], 65);
+    rbsize_add_band(&rbsize_results[22], 0, 0, 90, 65, 0x40, 90);
+    rbsize_add_band(&rbsize_results[22], 90, 0, 180, 65, 0x40, 90);
+    rbsize_add_band(&rbsize_results[22], 180, 0, 672, 65, 0x40, 90);
+
+    rbsize_results[23] = rbsize_init(0, 0, 0, 226, 0, 0, 0);
+
+    rbsize_results[24] = rbsize_init(0, 0, 65, 226, 65, 1, 1);
+    rbsize_add_row(&rbsize_results[24], 65);
+    rbsize_add_band(&rbsize_results[24], 0, 0, 226, 65, 0x40, 90);
+
+    rbsize_results[25] = rbsize_init(0, 0, 65, 226, 65, 1, 2);
+    rbsize_add_row(&rbsize_results[25], 65);
+    rbsize_add_band(&rbsize_results[25], 0, 0, 90, 65, 0x40, 90);
+    rbsize_add_band(&rbsize_results[25], 90, 0, 226, 65, 0x40, 90);
+
+    rbsize_results[26] = rbsize_init(0, 0, 65, 226, 65, 1, 3);
+    rbsize_add_row(&rbsize_results[26], 65);
+    rbsize_add_band(&rbsize_results[26], 0, 0, 90, 65, 0x40, 90);
+    rbsize_add_band(&rbsize_results[26], 90, 0, 163, 65, 0x40, 90);
+    rbsize_add_band(&rbsize_results[26], 163, 0, 226, 65, 0x40, 90);
+}
+
+static void rbsize_results_free(void)
+{
+    int i;
+
+    for (i = 0; i < rbsize_results_num; i++) {
+        HeapFree(GetProcessHeap(), 0, rbsize_results[i].cyRowHeights);
+        HeapFree(GetProcessHeap(), 0, rbsize_results[i].bands);
+    }
+    HeapFree(GetProcessHeap(), 0, rbsize_results);
+    rbsize_results = NULL;
+}
 
 static int rbsize_numtests = 0;
 
@@ -313,7 +430,6 @@ static int rbsize_numtests = 0;
         REBARBANDINFO rbi; \
         int count, i/*, mask=(todomask)*/; \
         const rbsize_result_t *res = &rbsize_results[rbsize_numtests]; \
-        assert(rbsize_numtests < sizeof(rbsize_results)/sizeof(rbsize_results[0])); \
         GetClientRect(hRebar, &rc); \
         check_rect("client", rc, res->rcClient); \
         count = SendMessage(hRebar, RB_GETROWCOUNT, 0, 0); \
@@ -366,6 +482,8 @@ static void test_layout(void)
     HIMAGELIST himl;
     REBARINFO ri;
 
+    rbsize_results_init();
+
     hRebar = create_rebar_control();
     check_sizes();
     rbi.cbSize = REBARBANDINFOA_V6_SIZE;
@@ -523,6 +641,7 @@ static void test_layout(void)
     SendMessageA(hRebar, RB_INSERTBAND, -1, (LPARAM)&rbi);
     check_sizes();
 
+    rbsize_results_free();
     DestroyWindow(hRebar);
     ImageList_Destroy(himl);
 }
-- 
1.7.1




More information about the wine-patches mailing list