Skip to content

Commit 561e6cf

Browse files
committed
Updates after Seb's feedback
1 parent 59f12b0 commit 561e6cf

File tree

5 files changed

+40
-39
lines changed

5 files changed

+40
-39
lines changed

engine/src/deploy_windows.cpp

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ along with LiveCode. If not see <http://www.gnu.org/licenses/>. */
2727
#include "scriptpt.h"
2828
#include "variable.h"
2929
#include "statemnt.h"
30+
#include "osspec.h"
3031

3132
#include "deploy.h"
3233

@@ -1081,27 +1082,20 @@ static uint64_t MCWindowsVersionInfoParseVersion(MCStringRef p_string)
10811082

10821083
static bool add_version_info_entry(void *p_context, MCArrayRef p_array, MCNameRef p_key, MCValueRef p_value)
10831084
{
1084-
MCExecPoint ep(NULL, NULL, NULL);
1085-
MCExecContext ctxt(ep);
1086-
if (!ctxt . SetValueRef(p_value))
1087-
return false;
1088-
10891085
MCWindowsVersionInfo *t_string;
1090-
MCAutoStringRef t_value;
1091-
/* UNCHECKED */ ctxt . CopyAsStringRef(&t_value);
1092-
if (MCStringGetNativeCharAtIndex(*t_value, MCStringGetLength(*t_value) - 1) != '\0')
1093-
{
1094-
MCAutoStringRef t_value_mutable_copy;
1095-
/* UNCHECKED */ MCStringMutableCopy(*t_value, &t_value_mutable_copy);
1096-
MCStringAppendNativeChar(*t_value_mutable_copy, '\0');
1097-
ctxt . SetValueRef(*t_value_mutable_copy);
1098-
}
1099-
ctxt . NativeToUtf16();
1100-
MCAutoStringRef t_new_value;
1101-
/* UNCHECKED */ ctxt . CopyAsStringRef(&t_new_value);
1102-
1103-
swap_uint16s((uint16_t *)MCStringGetCString(*t_new_value), MCStringGetLength(*t_new_value) / 2);
1104-
return MCWindowsVersionInfoAdd((MCWindowsVersionInfo *)p_context, MCStringGetCString(MCNameGetString(p_key)), true, MCStringGetCString(*t_new_value), MCStringGetLength(*t_new_value), t_string);
1086+
char *t_value;
1087+
t_value = strdup(MCStringGetCString((MCStringRef)p_value));
1088+
uint4 t_value_len = strlen(t_value);
1089+
1090+
if (t_value[t_value_len - 1] != '\0')
1091+
t_value[t_value_len - 1] = '\0';
1092+
1093+
unsigned short *t_value_utf16;
1094+
uint4 t_value_utf16_length;
1095+
MCS_nativetoutf16(t_value, strlen(t_value), t_value_utf16, t_value_utf16_length);
1096+
1097+
swap_uint16s(t_value_utf16, t_value_utf16_length / 2);
1098+
return MCWindowsVersionInfoAdd((MCWindowsVersionInfo *)p_context, MCStringGetCString(MCNameGetString(p_key)), true, t_value_utf16, t_value_utf16_length, t_string);
11051099
}
11061100

11071101
static bool MCWindowsResourcesAddVersionInfo(MCWindowsResources& self, MCArrayRef p_info)

engine/src/fieldstyledtext.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -655,11 +655,7 @@ void MCField::parsestyledtextblockarray(MCArrayRef p_block_value, MCParagraph*&
655655
return;
656656
}
657657

658-
// We'll need an ep for processing.
659-
MCExecPoint ep(nil, nil, nil);
660-
661658
MCValueRef t_valueref;
662-
t_valueref = MCValueRetain(kMCEmptyString);
663659

664660
// Set foreground
665661
MCNewAutoNameRef t_key1;

engine/src/internal_development.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -581,15 +581,15 @@ void MCInternalObjectListenerMessagePendingListeners(void)
581581
{
582582
// MM-2012-11-06: Added resizeControl(Started/Ended) and gradientEdit(Started/Ended) messages.
583583
if (t_properties_changed & kMCPropertyChangedMessageTypePropertyChanged)
584-
t_target -> target -> Get() -> message_with_args(MCM_property_changed, ctxt . GetOldStringValue());
584+
t_target -> target -> Get() -> message_with_valueref_args(MCM_property_changed, *t_string);
585585
if (t_properties_changed & kMCPropertyChangedMessageTypeResizeControlStarted)
586-
t_target -> target -> Get() -> message_with_args(MCM_resize_control_started, ctxt . GetOldStringValue());
586+
t_target -> target -> Get() -> message_with_valueref_args(MCM_resize_control_started, *t_string);
587587
if (t_properties_changed & kMCPropertyChangedMessageTypeResizeControlEnded)
588-
t_target -> target -> Get() -> message_with_args(MCM_resize_control_ended, ctxt . GetOldStringValue());
588+
t_target -> target -> Get() -> message_with_valueref_args(MCM_resize_control_ended, *t_string);
589589
if (t_properties_changed & kMCPropertyChangedMessageTypeGradientEditStarted)
590-
t_target -> target -> Get() -> message_with_args(MCM_gradient_edit_started, ctxt . GetOldStringValue());
590+
t_target -> target -> Get() -> message_with_valueref_args(MCM_gradient_edit_started, *t_string);
591591
if (t_properties_changed & kMCPropertyChangedMessageTypeGradientEditEnded)
592-
t_target -> target -> Get() -> message_with_args(MCM_gradient_edit_ended, ctxt . GetOldStringValue());
592+
t_target -> target -> Get() -> message_with_valueref_args(MCM_gradient_edit_ended, *t_string);
593593

594594
t_prev_target = t_target;
595595
}

engine/src/osxprinter.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1765,18 +1765,13 @@ void MCQuartzMetaContext::domark(MCMark *p_mark)
17651765
bool t_is_unicode;
17661766
t_is_unicode = p_mark -> text . font -> unicode || p_mark -> text . unicode_override;
17671767

1768-
MCExecPoint text_ep(NULL, NULL, NULL);
1769-
MCExecContext ctxt(text_ep);
1770-
MCAutoStringRef t_string;
1771-
/* UNCHECKED */ MCStringCreateWithCString((const char *)s, &t_string);
1772-
/* UNCHECKED */ ctxt . SetValueRef(*t_string);
17731768
if (!t_is_unicode)
17741769
{
1775-
ctxt . NativeToUtf16();
1776-
MCAutoStringRef t_new_string;
1777-
/* UNCHECKED */ ctxt . CopyAsStringRef(&t_new_string);
1778-
s = (void *)MCStringGetCString(*t_new_string);
1779-
len = MCStringGetLength(*t_new_string);
1770+
unsigned short *t_utf16;
1771+
uint4 t_utf16_length;
1772+
MCS_nativetoutf16((const char *)s, len, t_utf16, t_utf16_length);
1773+
s = (void *)t_utf16;
1774+
len = t_utf_16_len;
17801775
}
17811776

17821777
OSStatus t_err;

engine/src/sysspec.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,22 @@ bool MCS_alternatelanguages(MCListRef& r_list)
208208
return MCsystem -> AlternateLanguages(r_list);
209209
}
210210

211+
void MCS_nativetoutf16(const char *p_native, uint4 p_native_length, unsigned short *p_utf16, uint4& p_utf16_length)
212+
{
213+
}
214+
215+
void MCS_utf16tonative(const unsigned short *p_utf16, uint4 p_utf16_length, char *p_native, uint4& p_native_length)
216+
{
217+
}
218+
219+
void MCS_nativetoutf8(const char *p_native, uint4 p_native_length, char *p_utf8, uint4& p_utf16_length)
220+
{
221+
}
222+
223+
void MCS_utf8tonative(const char *p_utf8, uint4 p_uitf8_length, char *p_native, uint4& p_native_length)
224+
{
225+
}
226+
211227
void MCS_seterrno(int value)
212228
{
213229
// *s_mainthread_errno = value;

0 commit comments

Comments
 (0)