Browse Source

Merge branch 'Dadeos-compilation_warnings'

ocornut 11 years ago
parent
commit
6dd2b13220
2 changed files with 44 additions and 43 deletions
  1. 42 41
      imgui.cpp
  2. 2 2
      imgui.h

+ 42 - 41
imgui.cpp

@@ -378,7 +378,7 @@ static ImU32 crc32(const void* data, size_t data_size, ImU32 seed = 0)
         { 
             ImU32 crc = i; 
             for (ImU32 j = 0; j < 8; j++) 
-                crc = (crc >> 1) ^ (-int(crc & 1) & polynomial); 
+                crc = (crc >> 1) ^ (ImU32(-int(crc & 1)) & polynomial); 
             crc32_lut[i] = crc; 
         }
     }
@@ -396,16 +396,14 @@ static size_t ImFormatString(char* buf, size_t buf_size, const char* fmt, ...)
     int w = vsnprintf(buf, buf_size, fmt, args);
     va_end(args);
     buf[buf_size-1] = 0;
-    if (w == -1) w = (int)buf_size;
-    return w;
+    return (w == -1) ? buf_size : (size_t)w;
 }
 
 static size_t ImFormatStringV(char* buf, size_t buf_size, const char* fmt, va_list args)
 {
     int w = vsnprintf(buf, buf_size, fmt, args);
     buf[buf_size-1] = 0;
-    if (w == -1) w = (int)buf_size;
-    return w;
+    return (w == -1) ? buf_size : (size_t)w;
 }
 
 static ImU32 ImConvertColorFloat4ToU32(const ImVec4& in)
@@ -900,13 +898,13 @@ void ImGuiTextBuffer::append(const char* fmt, ...)
         return;
 
     const size_t write_off = Buf.size();
-    if (write_off + len >= Buf.capacity())
+    if (write_off + (size_t)len >= Buf.capacity())
         Buf.reserve(Buf.capacity() * 2);
 
     Buf.resize(write_off + (size_t)len);
 
     va_start(args, fmt);
-    ImFormatStringV(&Buf[write_off] - 1, len+1, fmt, args);
+    ImFormatStringV(&Buf[write_off] - 1, (size_t)len+1, fmt, args);
     va_end(args);
 }
 
@@ -1052,13 +1050,14 @@ static void LoadSettings()
         return;
     if (fseek(f, 0, SEEK_END)) 
         return;
-    long f_size = ftell(f); 
-    if (f_size == -1) 
+    const long f_size_signed = ftell(f);
+    if (f_size_signed == -1) 
         return;
+    size_t f_size = (size_t)f_size_signed;
     if (fseek(f, 0, SEEK_SET)) 
         return;
     char* f_data = new char[f_size+1];
-    f_size = (long)fread(f_data, 1, f_size, f); // Text conversion alter read size so let's not be fussy about return value
+    f_size = fread(f_data, 1, f_size, f); // Text conversion alter read size so let's not be fussy about return value
     fclose(f);
     if (f_size == 0)
     {
@@ -3009,7 +3008,7 @@ void PushID(const void* ptr_id)
     window->IDStack.push_back(window->GetID(ptr_id));
 }
 
-void PushID(int int_id)
+void PushID(const int int_id)
 {
     const void* ptr_id = (void*)(intptr_t)int_id;
     ImGuiWindow* window = GetCurrentWindow();
@@ -3363,7 +3362,7 @@ enum ImGuiPlotType
 
 static float PlotGetValue(const float* values, size_t stride, int idx)
 {
-    float v = *(float*)((unsigned char*)values + idx * stride);
+    const float v = *(float*)((unsigned char*)values + (size_t)idx * stride);
     return v;
 }
 
@@ -3616,14 +3615,14 @@ void    STB_TEXTEDIT_DELETECHARS(STB_TEXTEDIT_STRING* obj, int idx, int n)
 bool    STB_TEXTEDIT_INSERTCHARS(STB_TEXTEDIT_STRING* obj, int idx, const char* new_text, int new_text_len)
 {
     char* buf_end = obj->Text + obj->BufSize;
-    const int text_len = (int)strlen(obj->Text);
+    const size_t text_len = strlen(obj->Text);
 
     if (new_text_len > buf_end - (obj->Text + text_len + 1))
         return false;
 
-    memmove(obj->Text + idx + new_text_len, obj->Text + idx, text_len - idx);
-    memcpy(obj->Text + idx, new_text, new_text_len);
-    obj->Text[text_len + new_text_len] = 0;
+    memmove(obj->Text + (size_t)idx + new_text_len, obj->Text + (size_t)idx, text_len - (size_t)idx);
+    memcpy(obj->Text + (size_t)idx, new_text, (size_t)new_text_len);
+    obj->Text[text_len + (size_t)new_text_len] = 0;
 
     return true;
 }
@@ -4066,7 +4065,7 @@ static bool Combo_ArrayGetter(void* data, int idx, const char** out_text)
 
 bool Combo(const char* label, int* current_item, const char** items, int items_count, int popup_height_items)
 {
-    bool value_changed = Combo(label, current_item, Combo_ArrayGetter, (void*)items, items_count, popup_height_items);
+    const bool value_changed = Combo(label, current_item, Combo_ArrayGetter, (void*)items, items_count, popup_height_items);
     return value_changed;
 }
 
@@ -4139,7 +4138,7 @@ bool Combo(const char* label, int* current_item, bool (*items_getter)(void*, int
     ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
     ImGui::TextUnformatted(label, FindTextDisplayEnd(label));
 
-    ImGui::PushID(id);
+    ImGui::PushID((int)id);
     bool menu_toggled = false;
     if (hovered)
     {
@@ -4547,7 +4546,7 @@ float GetColumnOffset(int column_index)
     if (column_index < 0)
         column_index = window->DC.ColumnCurrent;
 
-    const ImGuiID column_id = ImGuiID(window->DC.ColumnsSetID + column_index);
+    const ImGuiID column_id = window->DC.ColumnsSetID + ImGuiID(column_index);
     RegisterAliveId(column_id);
     const float default_t = column_index / (float)window->DC.ColumnsCount;
     const float t = (float)window->StateStorage.GetInt(column_id, (int)(default_t * 8096)) / 8096;      // Cheaply store our floating point value inside the integer (could store an union into the map?)
@@ -4563,7 +4562,7 @@ void SetColumnOffset(int column_index, float offset)
     if (column_index < 0)
         column_index = window->DC.ColumnCurrent;
 
-    const ImGuiID column_id = ImGuiID(window->DC.ColumnsSetID + column_index);
+    const ImGuiID column_id = window->DC.ColumnsSetID + ImGuiID(column_index);
     const float t = (offset - window->DC.ColumnStartX) / (window->Size.x - g.Style.ScrollBarWidth - window->DC.ColumnStartX);
     window->StateStorage.SetInt(column_id, (int)(t*8096));
 }
@@ -4613,7 +4612,7 @@ void Columns(int columns_count, const char* id, bool border)
         {
             float x = window->Pos.x + GetColumnOffset(i);
             
-            const ImGuiID column_id = ImGuiID(window->DC.ColumnsSetID + i);
+            const ImGuiID column_id = window->DC.ColumnsSetID + ImGuiID(i);
             const ImGuiAabb column_aabb(ImVec2(x-4,y1),ImVec2(x+4,y2));
 
             if (IsClipped(column_aabb))
@@ -4840,7 +4839,7 @@ void ImDrawList::AddArc(const ImVec2& center, float rad, ImU32 col, int a_min, i
     
     if (tris)
     {
-        ReserveVertices((a_max-a_min) * 3);
+        ReserveVertices((unsigned int)(a_max-a_min) * 3);
         for (int a = a_min; a < a_max; a++)
         {
             AddVtx(center + circle_vtx[a % IM_ARRAYSIZE(circle_vtx)] * rad, col);
@@ -4850,7 +4849,7 @@ void ImDrawList::AddArc(const ImVec2& center, float rad, ImU32 col, int a_min, i
     }
     else
     {
-        ReserveVertices((a_max-a_min) * 6);
+        ReserveVertices((unsigned int)(a_max-a_min) * 6);
         for (int a = a_min; a < a_max; a++)
             AddVtxLine(center + circle_vtx[a % IM_ARRAYSIZE(circle_vtx)] * rad, center + circle_vtx[(a+1) % IM_ARRAYSIZE(circle_vtx)] * rad, col);
     }
@@ -4961,7 +4960,7 @@ void ImDrawList::AddCircle(const ImVec2& centre, float radius, ImU32 col, int nu
     if ((col >> 24) == 0)
         return;
 
-    ReserveVertices(num_segments*6);
+    ReserveVertices((unsigned int)num_segments*6);
     const float a_step = 2*PI/(float)num_segments;
     float a0 = 0.0f;
     for (int i = 0; i < num_segments; i++)
@@ -4977,7 +4976,7 @@ void ImDrawList::AddCircleFilled(const ImVec2& centre, float radius, ImU32 col,
     if ((col >> 24) == 0)
         return;
 
-    ReserveVertices(num_segments*3);
+    ReserveVertices((unsigned int)num_segments*3);
     const float a_step = 2*PI/(float)num_segments;
     float a0 = 0.0f;
     for (int i = 0; i < num_segments; i++)
@@ -4999,17 +4998,17 @@ void ImDrawList::AddText(ImFont font, float font_size, const ImVec2& pos, ImU32
         text_end = text_begin + strlen(text_begin);
 
     // reserve vertices for worse case
-    const int char_count = (int)(text_end - text_begin);
-    const int vtx_count_max = char_count * 6;
+    const unsigned int char_count = (unsigned int)(text_end - text_begin);
+    const unsigned int vtx_count_max = char_count * 6;
     const size_t vtx_begin = vtx_buffer.size();
     ReserveVertices(vtx_count_max);
 
     font->RenderText(font_size, pos, col, clip_rect_stack.back(), text_begin, text_end, vtx_write);
 
-    // give unused vertices
-    vtx_buffer.resize(vtx_write - &vtx_buffer.front());
-    const int vtx_count = (int)(vtx_buffer.size() - vtx_begin);
-    commands.back().vtx_count -= (vtx_count_max - vtx_count);
+    // give back unused vertices
+    vtx_buffer.resize((size_t)(vtx_write - &vtx_buffer.front()));
+    const size_t vtx_count = vtx_buffer.size() - vtx_begin;
+    commands.back().vtx_count -= (unsigned int)(vtx_count_max - vtx_count);
     vtx_write -= (vtx_count_max - vtx_count);
 }
 
@@ -5050,8 +5049,10 @@ bool    ImBitmapFont::LoadFromFile(const char* filename)
         return false;
     if (fseek(f, 0, SEEK_END)) 
         return false;
-    if ((DataSize = (int)ftell(f)) == -1)
+    const long f_size = ftell(f);
+    if (f_size == -1)
         return false;
+    DataSize = (size_t)f_size;
     if (fseek(f, 0, SEEK_SET)) 
         return false;
     if ((Data = (unsigned char*)malloc(DataSize)) == NULL)
@@ -5059,7 +5060,7 @@ bool    ImBitmapFont::LoadFromFile(const char* filename)
         fclose(f);
         return false;
     }
-    if ((int)fread(Data, 1, DataSize, f) != DataSize)
+    if (fread(Data, 1, DataSize, f) != DataSize)
     {
         fclose(f);
         free(Data);
@@ -5070,7 +5071,7 @@ bool    ImBitmapFont::LoadFromFile(const char* filename)
     return LoadFromMemory(Data, DataSize);
 }
 
-bool    ImBitmapFont::LoadFromMemory(const void* data, int data_size)
+bool    ImBitmapFont::LoadFromMemory(const void* data, size_t data_size)
 {
     Data = (unsigned char*)data;
     DataSize = data_size;
@@ -5358,9 +5359,9 @@ static void SetClipboardTextFn_DefaultImpl(const char* text, const char* text_en
     }
     if (!text_end)
         text_end = text + strlen(text);
-    GImGui.PrivateClipboard = (char*)malloc(text_end - text + 1);
-    memcpy(GImGui.PrivateClipboard, text, text_end - text);
-    GImGui.PrivateClipboard[text_end - text] = 0;
+    GImGui.PrivateClipboard = (char*)malloc((size_t)(text_end - text) + 1);
+    memcpy(GImGui.PrivateClipboard, text, (size_t)(text_end - text));
+    GImGui.PrivateClipboard[(size_t)(text_end - text)] = 0;
 }
 
 #endif
@@ -5456,7 +5457,7 @@ void ShowTestWindow(bool* open)
     static bool no_scrollbar = false;
     static float fill_alpha = 0.65f;
 
-    const ImU32 layout_flags = (no_titlebar ? ImGuiWindowFlags_NoTitleBar : 0) | (no_border ? 0 : ImGuiWindowFlags_ShowBorders) | (no_resize ? ImGuiWindowFlags_NoResize : 0) | (no_move ? ImGuiWindowFlags_NoMove : 0) | (no_scrollbar ? ImGuiWindowFlags_NoScrollbar : 0);
+    const ImGuiWindowFlags layout_flags = (no_titlebar ? ImGuiWindowFlags_NoTitleBar : 0) | (no_border ? 0 : ImGuiWindowFlags_ShowBorders) | (no_resize ? ImGuiWindowFlags_NoResize : 0) | (no_move ? ImGuiWindowFlags_NoMove : 0) | (no_scrollbar ? ImGuiWindowFlags_NoScrollbar : 0);
     ImGui::Begin("ImGui Test", open, ImVec2(550,680), fill_alpha, layout_flags);
     ImGui::PushItemWidth(ImGui::GetWindowWidth() * 0.65f);
 
@@ -5621,7 +5622,7 @@ void ShowTestWindow(bool* open)
 
         static bool pause;
         static ImVector<float> values; if (values.empty()) { values.resize(100); memset(&values.front(), 0, values.size()*sizeof(float)); } 
-        static int values_offset = 0; 
+        static size_t values_offset = 0; 
         if (!pause) 
         { 
             // create dummy data at 60 hz
@@ -5635,7 +5636,7 @@ void ShowTestWindow(bool* open)
                 phase += 0.10f*values_offset; 
             }
         }
-        ImGui::PlotLines("Frame Times", &values.front(), (int)values.size(), values_offset, "avg 0.0", -1.0f, 1.0f, ImVec2(0,70));
+        ImGui::PlotLines("Frame Times", &values.front(), (int)values.size(), (int)values_offset, "avg 0.0", -1.0f, 1.0f, ImVec2(0,70));
 
         ImGui::SameLine(); ImGui::Checkbox("pause", &pause);
         ImGui::PlotHistogram("Histogram", arr, IM_ARRAYSIZE(arr), 0, NULL, 0.0f, 1.0f, ImVec2(0,70));
@@ -5842,7 +5843,7 @@ void ShowTestWindow(bool* open)
         ImGui::SameLine();
         if (ImGui::Button("Add 1000 lines"))
         {
-            for (size_t i = 0; i < 1000; i++)
+            for (int i = 0; i < 1000; i++)
                 log.append("%i The quick brown fox jumps over the lazy dog\n", lines+i);
             lines += 1000;
         }

+ 2 - 2
imgui.h

@@ -622,7 +622,7 @@ struct ImBitmapFont
 #pragma pack(pop)
 
     unsigned char*          Data;               // Raw data, content of .fnt file
-    int                     DataSize;           //
+    size_t                  DataSize;           //
     bool                    DataOwned;          // 
     const FntInfo*          Info;               // (point into raw data)
     const FntCommon*        Common;             // (point into raw data)
@@ -637,7 +637,7 @@ struct ImBitmapFont
     ImBitmapFont();
     ~ImBitmapFont() { Clear(); }
 
-    bool                    LoadFromMemory(const void* data, int data_size);
+    bool                    LoadFromMemory(const void* data, size_t data_size);
     bool                    LoadFromFile(const char* filename);
     void                    Clear();
     void                    BuildLookupTable();